كيف يمكنني فك تشفير تسمية مكتبة Boost؟
-
01-10-2019 - |
سؤال
حاولت معرفة ذلك gd
تعني في Boost Library Name ووجدت فقط شخصين آخرين يبحثان عن نفس الشيء.
أفترض أنه يجب أن يكون مكانًا موثقًا بوضوح وأود أن أجده.
mt
- متعددة ، احصل عليها معbjam threading=multi
s
-bjam runtime-link=static
g
- استخدام إصدارات التصحيح من مكتبات الدعم القياسية ووقت التشغيل. ما مفتاح bjam ؟؟؟d
- تصحيحbjam variant=debug
تحديث
كيف أتحكم في ماذا bjam
يتحكم في المتغيرات أعلاه؟ في الواقع الشخص الوحيد الذي لم أتمكن من تحديده هو g
.
المحلول
نرى تعزيز البدء في Windows القسم 6.3 التسمية و القسم 6.1 على تسمية UNIX
تلك التي تتعامل مع -MT و D
-mt Threading tag: indicates that the library was built with multithreading support enabled. Libraries built without multithreading support can be identified by the absence of `-mt`.
-d ABI tag: encodes details that affect the library's interoperability with other compiled code. For each such feature, a single letter is added to the tag as listed in this table:
Key Use this library when (Boost.Build option)
s linking statically to the C++ standard library
and compiler runtime support libraries.
(runtime-link=static)
g using debug versions of the standard and runtime support libraries.
(runtime-debugging=on)
y using a special debug build of Python.
(python-debugging=on)
d building a debug version of your code.
(variant=debug)
p using the STLPort standard library rather than
the default one supplied with your compiler.
(stdlib=stlport)
نصائح أخرى
من وثائق التعزيز في http://www.boost.org/doc/libs/1_35_0/more/getting_started/windows.html#library-naming, ، الاتفاقية هي:
-mt علامة الخيوط: تشير إلى أن المكتبة تم إنشاؤها مع تمكين دعم MultiThreading. يمكن تحديد المكتبات المصممة بدون دعم متعدد الترابطات من خلال عدم وجود -MT.
-د علامة ABI: ترميز التفاصيل التي تؤثر على قابلية التشغيل البيني للمكتبة مع رمز آخر تم تجميعه. لكل ميزة من هذا القبيل ، تتم إضافة حرف واحد إلى العلامة:
Key Use this library when: s linking statically to the C++ standard library and compiler runtime support libraries. g using debug versions of the standard and runtime support libraries. y using a special debug build of Python. d building a debug version of your code. p using the STLPort standard library rather than the default one supplied with your compiler. n using STLPort's deprecated “native iostreams” feature.
على سبيل المثال ، إذا قمت بإنشاء إصدار تصحيح من التعليمات البرمجية الخاصة بك للاستخدام مع إصدارات التصحيح من مكتبة وقت التشغيل الثابتة ومكتبة STLPort القياسية في وضع "iostreams الأصلي" ، ستكون العلامة هي: -SGDPN. إذا لم ينطبق أي مما سبق ، فسيكون علامة ABI.
يتم وصف المجموعة الأساسية من الميزات المدمجة ، وهو ما تحدده على سطر الأوامر (الميزة = القيمة) ، في وثائق BBV2 (انظر ميزات بنيت). لا أعرف ما إذا كنا قد قمنا بالفعل بتحديث دليل البدء في الإصدار 1.43 القادم ، ولكن هناك تغيير في الوثائق المعلقة لإضافة أوصاف الخيار المدمجة إلى دليل البدء للوصول السريع.