Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Chapter 2. Configuration

Boost , Boost.Python , Boost.Python

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

Chapter 2. Configuration

David Abrahams

Boost.Pythonиспользует несколько макросов конфигурации в<<boost/config.hpp>>, а также макросы конфигурации, предназначенные для подачи приложения. Эти макросы документированы здесь.

Это макросы, которые могут быть определены приложением с использованием Boost. Обратите внимание, что если вы расширите строгую интерпретацию стандарта C++ для охвата динамических библиотек, используя различные значения этих макросов при компиляции различных библиотек (включая модули расширения и Boost). Сама библиотека Python является нарушениемODR. Тем не менее, мы не знаем никаких реализаций C++, в которых это конкретное нарушение обнаруживается или вызывает какие-либо проблемы.

Макро

по умолчанию

значение

BOOST_PYTHON_MAX_ARITY

15

Максимальное удобство любой функции, функции участника или конструктора, которые должны быть обернуты, призыв к увеличению. Функция Python, которая определяется как принятие аргументов x1, x2, ...Xn. Это включает, в частности, механизмы обратного вызова, такие как объект::operator()(...) или call_method(...)

.

BOOST_PYTHON_MAX_BASES

10

Максимальное количество аргументов шаблона к шаблону<bases<...>>класса, которое используется для указания оснований обернутого класса C++.

BOOST_PYTHON_STATIC_MODULE

не определен

Если определено, то функция инициализации модуля не может рассматриваться как экспортируемый символ на платформах, поддерживающих это различие в коде

.

BOOST_PYTHON_ENABLE_CDECL

не определен

Если определено, позволяет обернуть функции, использующие<__cdecl>соглашение вызова.

BOOST_PYTHON_ENABLE_STDCALL

не определен

Если определено, позволяет обернуть функции, использующие<__stdcall>соглашение вызова.

BOOST_PYTHON_ENABLE_FASTCALL

не определен

Если определено, позволяет обернуть функции, использующие<__fastcall>соглашение вызова.

Эти макросы определеныBoost.Pythonи представляют собой детали реализации, представляющие интерес только для разработчиков и тех, кто портирует на новые платформы.

Макро

по умолчанию

значение

BOOST_PYTHON_TYPE_ID_NAME

не определен

Если это определено, это означает, что сравнение типа_info через общие границы библиотеки не работает на этой платформе. Другими словами, если совместно используемый lib-1 переходит<typeid(T)>к функции в совместно используемом lib-2, которая сравнивает его с<typeid(T)>, это сравнение может вернуться<false>. Если этот макрос #определен, нажмите. Python использует и сравнивает<typeid(T).name()>вместо того, чтобы напрямую использовать и сравнивать<std::type_info>объекты.

BOOST_PYTHON_NO_PY_SIGNATURES

не определен

При определении для модуля не генерируются питоновые подписи для докстрингов функций модуля, и ни один тип питонов не связан с каким-либо из преобразователей, зарегистрированных модулем. Это также уменьшает двоичный размер модуля примерно на 14%. Если определено для библиотеки времени выполнения boost_python, по умолчанию для<docstring_options.enable_py_signatures()>устанавливается<false>

.

BOOST_PYTHON_SUPPORTS_PY_SIGNATURES

определен, если<BOOST_PYTHON_NO_PY_SIGNATURES>не определен

Этот макрос определен, чтобы обеспечить плавный переход от старого Boost. Версии Python, которые не поддерживают pythonic-подписи. Например, использование см. здесь.

BOOST_PYTHON_PY_SIGNATURES_PROPER_INIT_SELF_TYPE

не определен

При определении питонового типа<__init__>способ «сам» параметры правильно генерируются, в противном случае используется объект. Он не определен по умолчанию, потому что он увеличивает двоичный размер модуля примерно на 14%.


PrevUpHomeNext

Статья Chapter 2. Configuration раздела Boost.Python Boost.Python может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Boost.Python ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-20 05:19:52/0.0023889541625977/0