سؤال

ما هو دفعة المربى ومربى يستحق المهاجرة ؟

أنا أفهم أن المربى هو بناء نظام بناها بالضرورة ومع ذلك أنا لست متأكدا كيف دفعة مربى & العادية مربى مختلفة.

أنا على أمل أيضا يمكن أن يكون هناك شخص ما في ذلك المجتمع الذي عملت معه و ربما يمكن تسليط الضوء على بعض الاختلافات و/أو الفوائد.

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

المحلول

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

والدافع هو مجموعة من الطبقات وظائف لC ++ هي مفيدة لمختلف المهام. يتم تجميع الطبقات وظائف دفعة في المكتبات. بعض المكتبات لديها كافة التعليمات البرمجية في رأس الملفات التي يمكنك استخدامها ببساطة باستخدام عبارة تتضمن # المعالج، في حين أن آخرين (مثل نظام الملفات أو مكتبة التعابير العادية) يكون جزءا من تنفيذها في ملفات .CPP.

ويمكن تجميع هذه الملفات .CPP تأخذ الأعمار (انها مثل 30 دقائق اعتمادا على ما كنت تجميع) وسوف يكون الألم الحقيقي إذا استغرق الأمر نصف ساعة في كل مرة أردت إعادة ترجمة البرنامج. لذلك ما قاموا به هو فقط لهذه المكتبات التي يتم تخزينها جزئيا في ملفات .CPP، يمكنك precompile لهم في ملف .LIB، وهذا هو الغرض من زيادة المربى. وهذا يعني أنك لا تملك إلا لقضاء نصف ساعة جمعها على مرة واحدة ، أو ومنذ ذلك الحين لا تضطر أبدا إلى الانتظار لمدة نصف ساعة مرة أخرى.

ولكن، وكما يمكنك أن تتخيل، وتتكون كل مكتبة دفعة من العديد من الملفات حزب الشعب الكمبودي والعديد من الملفات رأس، وهناك العديد من النكهات المختلفة لكل (إصدارات تصحيح الأخطاء، إصدارات الإصدار، متعددة الخيوط، الخ) وذلك ليس عملية بسيطة لمجرد تجميع مكتبة دفعة نفسك. وهنا يأتي دور المربي في دفعة ومنها يمكنك أن تعطيه الأمر لتجميع المكتبات وبعد ذلك يصدر جميع الأوامر لتتمكن من المجمع، وبحلول نهاية ذلك، سيكون لديك مجموعة من الملفات .LIB المترجمة مسبقا، واحدة لل كل نكهة مختلفة من كل مكتبة. الملفات رأس تقول بطريقة أو بأخرى رابط الملفات التي ليب لتشمل، لذلك إذا كان لديك إعداد مسارات الصحيح، سيتم تلقائيا ربطت نكهة الصحيحة للملف .LIB المترجمة مسبقا إلى البرنامج الخاص بك، مما يوفر لك تجميع 30 دقيقة.

ويمكنك ان ترى ما تحتاج المكتبات إلى أن جمعتها دفعة المربى وما المكتبات لا من خلال النظر في هذه الصفحة: <لأ href = "http://www.boost.org/doc/libs/1_37_0" يختلط = "نوفولو noreferrer"> http://www.boost.org/doc/libs/1_37_0 - إذا مكتبة لا يحتاج ملف ليب (وبالتالي لا تتطلب منك الفوضى مع زيادة المربى أولا)، فإنه سيقول "بناء وصلة: رأس فقط" في حين إذا مكتبة لا تتطلب منك precompile ملف ليب، فإنه سيقول "بناء وصلة: ربط التلقائي".

وأيضا، إذا كنت على ويندوز، يمكنك تحميل ملفات .LIB المترجمة مسبقا حتى لا تضطر أبدا إلى استخدام دفعة المربى. للحصول على هذا، ما يجب عليك القيام به هو الذهاب إلى صفحة www.boost.org، انتقل إلى قسم الشروع في العمل ومتابعته على طول الطريق من خلال فقط للتأكد من الانتهاء من إعداد كل شيء بشكل صحيح. واحد من الروابط على نسخة ويندوز من تلك الصفحة يخبرك أين تجد الملفات .LIB المترجمة مسبقا.

نصائح أخرى

استخدام دفعة مربى لبلدي عبر منصة C++ التنمية.اخترت ذلك لأن

  • أريد كود بناء في كل مكان دفعة يبني ،
  • ويستخدم بسيطة نسبيا اللغة التقريرية إلى تحديد كيفية بناء الأهداف ،
  • فإنه يمكن بناء جميع نكهات مختلفة من الثنائيات (مثلا ، التصحيح مقابلالإصدار 32 بت مقابل64 بت ، msvc مقابلدول مجلس التعاون الخليجي) في واحد الاحتجاج مع الحد الأدنى المطلق من نكهة ذات الاستثناءات في بناء الإعلانات.

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

هذه الورقة يقارن دفعة المربى CMake ، SCons و الكسوف CDT: http://syrcose.ispras.ru/2009/files/04_paper.pdf

ما أفهمه هو أن زيادة المربى هو فرع من الضرورة مربى تحتفظ بها دفعة المجتمع ، وهذا بالضرورة المربى لا يحتفظ بنشاط بعد الآن (على ملاحظات الإصدار أخر تحديث في أبريل / نيسان 2003).

بالطبع, إذا كنت لا تهتم حول التنمية عبر منصة ، هناك طرق أسهل للذهاب ، كما ذكر آخرون هنا.شخصيا لا زلت أريد أن إعادة النظر في الكسوف CDT;لم يكن يبدو صالحة للاستعمال قبل 5 سنوات لكن سمعت أنه قد حان شوطا طويلا.

ونظرا لاختيار أدوات بناء وأود أن لا تهاجر إلى المربى. هناك أفضل بناء نظم هناك - CMake / SCons لC / C ++، كماكي لكيو تي، النملة للجافا، نانت وMSBuild ل. NET، وهلم جرا. أنها قد لا تكون متفوقة تقنيا لكنها ستكون أقل إيلاما لاستخدام ببساطة لأن أكثر بكثير من الناس على دراية لهم (من ناحية أخرى، لأنها قد تكون متفوقة من الناحية الفنية، وبطبيعة الحال: D).

scroll top