Pyrex

Скріншот програми:
Pyrex
Дані програми:
Версія: 0.9.4.1
Дата завантаження: 3 Jun 15
Розробник: Greg Ewing
Ліцензія: Безкоштовно
Популярність: 45

Rating: 1.0/5 (Total Votes: 2)

Пірекс мову для написання модулів розширення Python.
Пірекс мову спеціально розроблений для написання модулів розширення Python. Вона призначена для подолання розриву між гарним, високим рівнем, легкий у використанні світ Python і брудний, низькорівневі світ З
Ви можете бути здивовані, чому хтось хоче спеціальна мова для цього. Python дуже легко розширити за допомогою C або C ++, чи не так? Чому б просто не написати свої модулі розширення в одному з цих мов?
Ну, якщо ви коли-небудь написав модуль розширення для Python, ви будете знати, що не все так просто, як все, що. Насамперед, це справедливий біт шаблонного коду, щоб написати, перш ніж ви навіть можете отримати від землі. Тоді ви зіткнулися з проблемою перетворення між типами даних Python і C. Для основних типів, таких як числа і рядки, це не надто погано, але щось більш складною і ви у виборі об'єктів Python крім використовуючи / C API виклики Python, який вимагає, щоб ви ретельно про збереження кількість посилань, перевірка на наявність помилок на кожному кроці і очищення належним чином, якщо щось піде не так. Будь-які помилки і у вас є неприємний збій, що дуже важко налагодити.
Різні інструменти були розроблені, щоб полегшити деякі з тягар отримання коду розширення, з яких, можливо, є SWIG відомий. SWIG приймає файл визначення, що складається з суміші C коду та спеціалізованих декларацій, і виробляє модуль розширення. Це пише все макет для вас, і в багатьох випадках ви можете використовувати його, не знаючи про API Python / C. Але ви повинні використовувати виклики API, якщо будь-яка значна перебудова даних потрібно між Python і C,
Більше того, SWIG не дає ніякої допомоги взагалі, якщо ви хочете створити новий, побудований в тип Python. Він буде генерувати чисті-Python класи, обгортання (у кілька небезпечного) покажчики на структури даних C, а створення справжніх типів розширення поза його сфери.
Ще одним помітним спроба зробити його простіше розширити Python є PyInline, натхненний аналогічний об'єкт для Perl. PyInline дозволяє вбудовувати фрагменти коду C в розпал файлу Python, і автоматично витягує їх і збирає їх у розширення. Але це тільки перетворить основні типи автоматично, і як з SWIG, це не зачіпає створення нових типів Python.
Pyrex прагне йти набагато далі, ніж будь-який з цих попередніх інструментів забезпечує. Pyrex справу з основними типами так легко, як SWIG, але також дозволяє писати код для перетворення між довільними структурами даних Python і довільних структур даних C, в простий і природний шлях, нічого не знаючи про / C API Python. Це не так - взагалі нічого! Також ви повинні турбуватися про підрахунок посилань або перевірки помилок - це все піклуються автоматично, за лаштунками, як це в интерпретируемого коду Python. І більше того, Pyrex дозволяє визначити нові вбудовані типи Python так легко, як ви можете визначити нові класи в Python.
Що нового в цій версії:
· Крихітний Виправлення для усунення проблеми вкладка / простір в розширенні Distutils.

Схожі програми

Інші програми розробника Greg Ewing

Pyrex
Pyrex

5 Jun 15

Pyrex

Коментар не знайдено
додати коментар
Включіть картинки!