Детали программы:
Версия: 0.9.9
Дата загрузки: 5 Jun 15
Тип распространения: Бесплатная
Популярность: 196
Pyrex это язык, разработанный для создания Python модулей расширения, написанные на C кода.
Она разработана, чтобы преодолеть разрыв между красивым, высоким уровнем, легкий в использовании мир Python и грязный, низкого уровня мир С
Для основных типов, таких как числа и строки, это не слишком плохо, но ничего более сложной и вы в выборе объектов Python помимо используя / C API вызовы Python, который требует, чтобы вы тщательно о сохранении количество ссылок, проверка на наличие ошибок на каждом шагу и очистки должным образом, если что-нибудь пойдет не так
Что нового В этом выпуске:.
- Некоторые особенности сопряжения с C ++ кода были введены в этом выпуске.
- Pyrex больше не места поймали исключения в состояние потока. Это гарантирует, что исключения и tracebacks не вытекать из кроме оговоркой, что их поймали, если вы делаете что-то явно сохранить их.
- В настоящее время, аргумент функции Python, который объявлен как тип расширения, по умолчанию, будет разрешено получить значение None; чтобы предотвратить это, необходимо квалифицировать заявление аргумент с "None" не.
- Теперь можно определить и тип расширения с атрибутами Python, что не участвует в циклическом сбора мусора, используя новую опцию nogc.
- size_t теперь встроенный в тип и тип возвращаемого оператором SizeOf. Кроме того, размеры size_t и Py_ssize_t теперь считается где-то между длиной и длиной пор.
- Операции между двумя типами Int одного ранга теперь возвращают без знака результата, если любой из операндов без знака; Если ранги отличаются, результат имеет тот же тип, как шире-место операнда. Я думаю, что это является наилучшим приближением правил ANSI C, что можно, не зная точные размеры типов.
- PyString_InternFromString теперь подвергается под названием cintern, а не стажер, потому что это не полная замена для функции Python стажера (он не может справиться строки, содержащие нулевые байты).
- Проверка размера, который был ранее генерируется при импорте тип расширения была отключена на время, пока я не могу думать о чем-то лучше. Было генерации слишком много ложных срабатываний, например, из различных версий NumPy.
- Опция конвенции __fastcall вызова теперь поддерживается. Не Кроме того, Pyrex больше не предполагает, что это соглашение __cdecl по умолчанию вызова. Чтобы считаться совместимыми, два типа функций должны либо быть объявлены с той же вызывающей конвенции, или оба должны оставить его не определен.
- Как я уже угрожает в течение некоторого времени, используя __new__ в качестве имени метода инициализации типа расширения стала ошибка, а не просто предупреждение. В будущем релизе, __new__ повторно выйти с более Python, как семантики.
Ограничения
ничего не найдено
Комментарии не найдены