Pyrex (язык программирования)

Пирекс
Разработчик(и)Грег Юинг
Первоначальный выпуск3 апреля 2002 г .; 22 года назад [1] ( 2002-04-03 )
Стабильный релиз
0.9.9 / 12 апреля 2010 г. ; 14 лет назад ( 2010-04-12 )
Написано вПитон , С
Операционная системаКроссплатформенный
ТипЯзык программирования
Веб-сайтwww.cosc.canterbury.ac.nz/~greg/python/Pyrex/

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

Сам Python предоставляет только API C для написания модулей расширения, что позволяет писать функции и типы данных на 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. ^ greg at cosc ​​(3 апреля 2002 г.). "ANN: Pyrex — язык для написания модулей расширения Python" . Получено 24 февраля 2014 г.
  2. ^ Марк Лутц (2006). Программирование Python. O'Reilly Media . стр. 1461. ISBN 9780596554613.
  3. ^ Алекс Мартелли (2009). Python in a Nutshell. O'Reilly Media . стр. 650. ISBN 9781449379100.
  4. ^ Jang Hyuk Kwon; Thom Dunning; Kum Won Cho; Aurore Savoy-Navarro (2010). Будущие приложения и технологии промежуточного программного обеспечения в электронной науке. Springer US . стр. 141. ISBN 9781441917195.
  5. ^ Уэсли Чан (2012). Программирование основных приложений Python. Prentice Hall . стр. 385. ISBN 9780132678209.
  • Официальный сайт
Взято с "https://en.wikipedia.org/w/index.php?title=Pyrex_(язык_программирования)&oldid=1256177379"