কেক কমান্ড লাইন আর্গুমেন্টের সামান্য সহজ পরিচালনা সহ আমাকে শেল স্ক্রিপ্ট মনে হয়।
./Make.sh এর পরিবর্তে মেক চালানোর জন্য এটি স্ট্যান্ডার্ড কেন
কেক কমান্ড লাইন আর্গুমেন্টের সামান্য সহজ পরিচালনা সহ আমাকে শেল স্ক্রিপ্ট মনে হয়।
./Make.sh এর পরিবর্তে মেক চালানোর জন্য এটি স্ট্যান্ডার্ড কেন
উত্তর:
সাধারণ ধারণাটি হ'ল make
ন্যূনতম পুনর্গঠনগুলিকে সমর্থন করে (যুক্তিসঙ্গতভাবে) - আপনি এটিকে আপনার প্রোগ্রামের কোন অংশগুলি অন্যান্য অংশগুলির উপর নির্ভর করে তা বলবেন। আপনি যখন প্রোগ্রামটির কিছু অংশ আপডেট করেন, এটি কেবল সেই অংশগুলিকেই পুনর্নির্মাণ করে। আপনি যখন পারে একটি শেল স্ক্রিপ্ট সঙ্গে এই কাজ, এটি একটি হবে অনেক একটি শেল স্ক্রিপ্ট একমাত্র সুস্পষ্ট বিকল্প (স্পষ্টভাবে সব ফাইল, ইত্যাদি উপর শেষ পরিবর্তনের তারিখ পরীক্ষণ) আরো কাজ সবকিছু প্রত্যেক সময় পুনর্নির্মাণের হয়। ক্ষুদ্র প্রকল্পগুলির জন্য এটি একটি সম্পূর্ণ যুক্তিসঙ্গত পদ্ধতি, তবে একটি বড় প্রকল্পের জন্য একটি সম্পূর্ণ পুনর্নির্মাণ সহজেই এক ঘন্টা বা আরও বেশি সময় নিতে পারে - ব্যবহার করে make
আপনি সহজেই একই জিনিসটি এক বা দুই মিনিটের মধ্যে সম্পাদন করতে পারেন ...
আমার সম্ভবত এটিও যুক্ত করা উচিত যে কমপক্ষে বিস্তৃতভাবে অনুরূপ দক্ষতাগুলি তৈরি করতে বেশ কয়েকটি বিকল্প রয়েছে। বিশেষত যেখানে বড় প্রকল্পে কয়েকটি ফাইল পুনর্নির্মাণ করা হচ্ছে, সেগুলির কয়েকটি (যেমন, নিনজা ) প্রায়শই তৈরির তুলনায় বেশ দ্রুত হয়।
শেল স্ক্রিপ্টগুলির সাথে করা কঠিন এমন বিভিন্ন জিনিস রয়েছে ...
তৈরি করা নিশ্চিত করে যে আপনি যখন আপনার উত্স ফাইলগুলিতে পরিবর্তন করেন কেবলমাত্র প্রয়োজনীয় ফাইলগুলি পুনরায় সংযুক্ত হয়।
উদাহরণ স্বরূপ:
final : 1.o 2.o
gcc -o final 1.o 2.o
1.o : 1.c 2.h
gcc -c 1.c
2.o : 2.c 2.h
gcc -c 2.c
আমি যদি 2.h
কেবল ফাইলটি পরিবর্তন করি এবং চালিত make
করি তবে এটি 3 টি কমান্ড বিপরীত ক্রমে কার্যকর করে।
আমি যদি 1.c
কেবল ফাইলটি পরিবর্তন করি এবং চালিত make
করি তবে এটি কেবল প্রথম 2 টি আদেশকে বিপরীত ক্রমে কার্যকর করে।
আপনার নিজের শেল স্ক্রিপ্ট দিয়ে এটি সম্পাদন করার চেষ্টা করাতে অনেকগুলি if/else
চেক জড়িত ।
rsync -r -c -I $SOURCE $DEST_DIR
শেল এ জাতীয় কিছু ব্যবহার করুন ।
উপরের পাশাপাশি, মেক একটি ঘোষণামূলক (-শ) সমান্তরাল প্রোগ্রামিং ভাষা।
ধরা যাক যে আপনার কাছে রূপান্তর করতে 4,000 গ্রাফিক ফাইল এবং 4 টি সিপিইউ রয়েছে। একটি 10-লাইনের শেল স্ক্রিপ্ট লেখার চেষ্টা করুন (আমি এখানে উদার হচ্ছি) যা আপনার সিপিইউগুলিকে সম্পৃক্ত করার সময় এটি নির্ভরযোগ্যভাবে করবে।
সম্ভবত আসল প্রশ্ন হ'ল লোকেরা শেল স্ক্রিপ্টগুলি লেখার জন্য কেন বিরক্ত হয়।
হ্যান্ডলগুলি নির্ভরতা তৈরি করুন: মেকফিল তাদের বর্ণনা করে: বাইনারি কোনও অবজেক্ট ফাইলগুলির উপর নির্ভর করে, প্রতিটি বস্তু ফাইল একটি উত্স ফাইল এবং শিরোনামের উপর নির্ভর করে ... যখন মেক চালানো হয় তখন ফাইলগুলির তারিখটি তুলনা করা হয় যা পুনরায় সংকলন করতে হবে তা নির্ধারণের সাথে ।
মেকফাইলে বর্ণিত সমস্ত কিছু না তৈরির জন্য প্রত্যক্ষ একটি টার্গেট করতে পারেন।
তবুও মেক সিনট্যাক্স প্রতিস্থাপন, ভিপ্যাথ সরবরাহ করে
ইতিমধ্যে এটি তৈরি করে শেল স্ক্রিপ্টগুলিতে এই সমস্ত লেখা যেতে পারে।