سؤال

وأشعر أنني في الآونة الأخيرة الحاجة إلى تعلم أداة بناء. أنا أبحث من خلال ستاكوفيرفلوو لتوصيات وجنو جعل يحصل ذكر بالكاد. بدلا من ذلك أرى النملة، مخضرم، CMake، Scon وغيرها الكثير. ومع ذلك، عندما ننظر قليلا "مصادر المارقة" (كما في لا-في-الريبو) أن لدي بعض الأحيان لتجميع، وأنهم جميعا تتطلب الخطوات make && make install.

هل تعلم جعل الاستثمار أسوأ من وقتي من التعلم أداة أخرى؟

وإذا كان الأمر كذلك لماذا لا يزال جعل شعبية جدا؟

هل كانت مفيدة؟

المحلول

تأكد هو <م> من أداة البناء القياسية في كل شيء C / C ++. وكثف العديد من الآخرين إلى لوحة، ولكن حتى عندما كانت مفيدة وناجحة، فإنها لم تحقق كل مكان الصنع.

ويتم تثبيت الصنع على تقريبا كل يونكس مثل آلة هناك. لا يهم إذا كنت تعمل مع AIX، وسولاريس، ايركس، BSD، أو لينكس، وإذا كان هناك مترجم مثبتة، وهناك أيضا جعل.

وبعض من "بدائل" (مثل Automake، CMake) حتى إنشاء Makefiles، والتي هي بدورها تنفذها جعل.

وأود أن <م> بالتأكيد يوصي تصبح مألوفة مع make. إذا ما تم تناوله من قبل شخص أخذت من الوقت إلى تعلم حول جعل، بل هو أداة قوية، والتي يمكن استخدامها في عدد من الطرق حتى لا ترتبط بالضرورة لتطوير البرمجيات.

وحتى لو كنت في نهاية المطاف باستخدام أداة بناء مختلفة في النهاية، سوف تكون قادرة على "إعادة تدوير" الدروس المستفادة مع make، والمفاهيم الأساسية متشابهة تماما. والعدد الهائل من المدمج جعل المشاريع الوسائل التي من شأنها أن تكون هناك دائما فرصة أن يكون لديك لمعرفة لماكيفيلي.

القائمة

وشيء واحد، وإن كان. الحق في الحصول عليها من البداية.

نصائح أخرى

وأعتقد أن السبب كنت لا ترى (GNU) جعل المذكورة هو أنه في كثير من الأحيان الافتراضي. إذا كان لديك toolchain GNU، سيكون لديك جعل بالفعل. وبالتالي، فإن معظم الناس أن نبدأ الحديث عن أدوات بناء، والحديث عن شيء آخر.

في تجربتي، وجعل على ما يرام، ولكن يمكن أن يكون نوع من صعبة للحصول عليه لتفعل بالضبط ما تريد. انها ربما غامضة بعض الشيء، ولكن ثبت بالبرهان والأعمال.

تأكد شعبية لانها تستخدم (في المقام الأول) عن مصادر C / C ++ في لينكس / * لا شىء المشاريع، وأقدم بكثير من أي من الأدوات الأخرى التي قمت المذكورة، وبالتالي فقد وقفت أمام اختبار الزمن وناضجة . كيندا مثل القطران.

لنكون صادقين معك، أنا أعرف فقط جعل. تلك الأدوات الأخرى المذكورة أعلاه قد يكون أفضل، ولكن هذا العدد الكبير من المشاريع مجرد استخدام ماكيفيلي الأساسي الذي كنت أفضل كنت من معرفة على الأقل قليلا من ذلك. ليس فقط لمشاريعك الخاصة في العمل ولكن معظم تلك المصادر المفتوحة تجد على الشبكة.

وانها حقا يتوقف وكم كنت سوف استخدامه.

إذا سنوي العمل كثيرا مع C / C ++ المشاريع جعل، ثم نعم، أود أن أوصي تعلم المزيد حول هذا الموضوع كملف جعل كبيرة لديها أكثر حدة منحنى التعلم من أدوات البناء الأخرى التي ذكرها.

إذا كنت لا تعمل مع جعل، أو العمل في لغات أخرى مثل C #، جافا أو PHP ثم كنت في وضع أفضل حالا التعلم أدوات البناء ذات الصلة لتلك اللغات.

ومثل كل الأدوات، إذا كنت تستخدم على الإطلاق، يجب عليك وضع بعض الوقت لتصبح مهارة معقولة في ذلك. أيضا، بعض الأدوات (مثل CMake، على سبيل المثال) توليد makefiles والتي قد تحتاج يوما واحدا لفوضى مع تلك الملفات التي تم إنشاؤها.

وGNU جعل له ممتازة دليل - انها بالتأكيد يستحق spendin ساعة أو ساعتين في قراءة ذلك.

تأكد هو المعيار الأمر الواقع على أنظمة لينكس على سبيل المثال. بل هو أداة معقدة جدا، وأيضا أداة قوية للغاية.

ويناسب جيدا لمعرفة ما إذا كنت تقوم بتطوير C أو C ++، لا سيما إذا كان استهداف لينكس / * لا شىء.

واحدة من السمات جعل، هو أن يمكنك إعداد تبعيات لحين إعادة إنشاء ملف. مثلا كل ملف C أو C ++ هو بناء في ملف .OBJ، وفي نهاية المطاف، ترتبط كل الملفات .OBJ إلى ملف قابل للتنفيذ. ولكن ربما للتنفيذ هي مكتبة مرتبطة بشكل ثابت، مرتبط في تنفيذ آخر مع ملفات .OBJ أخرى.

تأكد يمكن التأكد من أن لتجميع الوقت كما قصيرة قدر الإمكان، لأنه يمكنك تحديد أن ملف ج ينبغي جمع إلا إذا كان، أو أي رأس الملفات التابعة، وأحدث هذا الملف .OBJ. حتى يتم تنفيذ أي تجميع أو ربط الخطوة فقط إذا كانت الملفات المصدر الحالي للخطوة هي الأحدث التي الملف الهدف.

إذا كنت تقوم بتطوير على سبيل المثال في C #، لا تحتاج هذا النوع من التحقق من التبعية ليتم تجميع كل الملفات .cs في وقت واحد في احد قابل للتنفيذ.

وهكذا فإن الاستنتاج هو أنه يجب عليك استخدام أداة البنية التي هي مناسبة تماما لاختيارك للبرمجة اللغوية.

وحتى لو كنت في نهاية المطاف مفضلا أداة بناء آخر (شخصيا أنا مغرم VS ... وأنا أعلم ...) مع العلم سيجعل ربما تكون أكثر فائدة.

تأكد لديها العديد من التطبيقات وفي حين أنها ليست مثالية لمهمة واحدة دائما، عند التعامل مع التكنولوجيات الجديدة هو قوي البنية ومرنة.

واعتقد حيث يمكنك عمل مختلفة ربما، لكنني أعرف أن في كل مكان لقد عملت أنا كان يمكن أن يكون الموظف أقل بكثير من قيمة إذا لم أكن قد تعلمت ما لا يقل عن كيفية قراءة Makefiles. حتى في جميع بيئات ويندوز-VisualStudio، أنها تأتي بين الحين والآخر.

وعلى سبيل المثال، نحن فقط حصلت على وظيفة ينطوي على ترقية مجموعة من CX القديم / القانون UX إلى Windows. بنيت القانون القديم مع makefiles. ليس هناك طريقة لفهم النظام القديم دون معرفة كيفية قراءة تلك makefiles القديمة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top