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

Choosing a Boost.Python Library Binary

Boost , Boost.Python , Chapter 1. Building and Testing

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

Если— вместо того, чтобы позволить повысить. Создайте конструкцию и свяжитесь с нужными библиотеками автоматически— вы решите использовать предварительно построенный Boost. Библиотека Python, вам нужно подумать, с какой из них можно связаться. Начало. Бинарный Python поставляется как в статических, так и в динамических ароматах. Позаботьтесь о том, чтобы выбрать правильный вкус для вашего приложения.

Динамическая библиотека является самым безопасным и универсальным выбором:

  • Одна копия библиотечного кода используется всеми модулями расширения, построенными с помощью данного набора инструментов.
  • Библиотека содержит реестр преобразования типов. Поскольку один реестр является общим для всех модулей расширения, экземпляры класса, подверженного воздействию Python в одном динамически загружаемом модуле расширения, могут быть переданы функциям, выставленным в другом таком модуле.

Может быть уместно использовать статический рост. Библиотека Python в любом из следующих случаев:

  • Вырасширяетепитон, и типы, представленные в вашем динамически загружаемом модуле расширения, не должны использоваться каким-либо другим Boost. Модули расширения Python, и вам все равно, дублируется ли среди них код основной библиотеки.
  • Вывстраиваетепитон в ваше приложение и либо:
    • Вы нацеливаетесь на Unix-вариантную ОС, отличную от MacOS или AIX, где динамически загружаемые модули расширения могут “ см. ” Boost. Символы библиотеки Python, которые являются частью исполняемого файла.
    • Или вы статически связали какой-то буст. Модули расширения Python в вашем приложении, и вам все равно, есть ли динамически загружаемый Boost. Модули расширения Python могут использовать типы, представленные статически связанными модулями расширения (и наоборот).


Информация о том, как идентифицировать статические и динамические сборки Boost. Python наWindows/Варианты Unix

Из-за того, что большинство платформ *nix обмениваются символами между динамически загружаемыми объектами, я не уверен, что модули расширения, построенные с различными наборами инструментов компилятора, всегда будут использовать разные копии Boost. Библиотека Python при загрузке в тот же экземпляр Python. Не использовать разные библиотеки может быть хорошо, если компиляторы имеют совместимые ABI, потому что модули расширения, построенные с двумя библиотеками, будут совместимы. В противном случае это может означать катастрофу, так как модуль расширения и Boost. Библиотека Python будет иметь разные идеи, такие как макет класса. Я был бы признателен, если бы кто-то проводил эксперимент, чтобы выяснить, что происходит.


PrevUpHomeNext

Статья Choosing a Boost.Python Library Binary раздела Boost.Python Chapter 1. Building and Testing может быть полезна для разработчиков на c++ и boost.




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



:: Главная :: Chapter 1. Building and Testing ::


реклама


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

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