stringtranslate.com

Пирекс (язык программирования)

Pyrexязык программирования для создания модулей Python . Его синтаксис очень близок к Python, и он позволяет программистам Python легко писать код, не поддерживающий Python, для взаимодействия модулей на языке, максимально близком к Python.

Сам Python предоставляет только C API для написания модулей расширения, что позволяет писать функции и типы данных на C. [ обсудить ] Затем к ним можно получить доступ из Python. Можно обернуть функции и типы данных существующих библиотек C как объекты Python и, следовательно, сделать их доступными для Python. [2]

Pyrex позволяет пользователю писать модули расширения на языке, подобном Python, который может напрямую обращаться к внешнему коду C. Сходство синтаксиса Pyrex с синтаксисом Python упрощает написание модулей Python, но существуют некоторые функциональные ограничения. [3] Программист должен указать имена файлов C-заголовков, перечисления , типы данных и функции, к которым необходимо получить доступ в модуле, тогда их можно будет использовать, как если бы они были объектами Python. Компилятор Pyrex автоматически сгенерирует необходимый связующий код и скомпилирует код Pyrex в рабочий модуль Python. [ нужна цитата ]

Существуют такие инструменты, как SWIG или внешняя библиотека функций Python ctypes , которые можно использовать для этой задачи, не требуя большого количества дополнительного кода, но они ограничиваются созданием внешней библиотеки, доступной в коде Python. [4] [5] Если необходимы корректировки API, связующий код снова необходимо написать вручную. [ нужна цитата ]

Смотрите также

Рекомендации

  1. ^ Грег в Cosc (3 апреля 2002 г.). «ANN: Pyrex — язык для написания модулей расширения Python» . Проверено 24 февраля 2014 г.
  2. ^ Марк Лутц (2006). Программирование на Python. О'Рейли Медиа . п. 1461. ИСБН 9780596554613.
  3. ^ Алекс Мартелли (2009). Коротко о Python. О'Рейли Медиа . п. 650. ИСБН 9781449379100.
  4. ^ Чан Хёк Квон; Том Даннинг; Кум Вон Чо; Аврора Савой-Наварро (2010). Будущие технологии приложений и промежуточного программного обеспечения в электронной науке. Спрингер США . п. 141. ИСБН 9781441917195.
  5. ^ Уэсли Чун (2012). Программирование основных приложений Python. Прентис Холл . п. 385. ИСБН 9780132678209.

Внешние ссылки