Pyrex (язык программирования)
Разработчик(и) | Грег Юинг |
---|---|
Первоначальный выпуск | 3 апреля 2002 г [1] |
Стабильная версия | 0.9.9 / 12 апреля 2010 г |
Написано в | Питон , С |
Операционная система | Кросс-платформенный |
Тип | Язык программирования |
Веб-сайт | www |
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, связующий код снова придется писать вручную. [ нужна ссылка ]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Грег в Cosc (3 апреля 2002 г.). «ANN: Pyrex — язык для написания модулей расширения Python» . Проверено 24 февраля 2014 г.
- ^ Марк Лутц (2006). Программирование на Python . О'Рейли Медиа . п. 1461. ИСБН 9780596554613 .
- ^ Алекс Мартелли (2009). Коротко о Python . О'Рейли Медиа . п. 650. ИСБН 9781449379100 .
- ^ Чан Хёк Квон; Том Даннинг; Кум Вон Чо; Аврора Савой-Наварро (2010). Будущие технологии приложений и промежуточного программного обеспечения в электронной науке . Спрингер США . п. 141. ИСБН 9781441917195 .
- ^ Уэсли Чун (2012). Программирование основных приложений Python . Прентис Холл . п. 385. ИСБН 9780132678209 .