Нужна помощь в преобразовании кода Python в код C - PullRequest
1 голос
/ 09 августа 2011

Есть ли компилятор, который поможет мне преобразовать мой код на Python в правильный код C? В своем коде Python я использую модуль xml.dom.minidom для анализа xml и обработки результатов, полученных ElementsByTagName. Я не знаю ни одного такого компилятора, который помог бы мне преобразовать этот вид кода Python в код на языке C.

Мое намерение состоит в том, чтобы преобразовать код Python в читаемый код C, который впоследствии можно будет скомпилировать в файл .exe. Cython не будет мне особенно полезен, так как он в конце концов пишет расширения c, которые позже будут использоваться в python. Тем не менее, я хочу использовать это как надлежащий читаемый код C, который впоследствии может быть передан пользователям - исходный код c вместе с соответствующим .py файл.

Моим главным препятствием здесь является написание кода на C вручную, мои навыки на C довольно плохие, и потребуется больше усилий, чтобы отточить мой С навыками, прежде чем сам писать код, я не могу позволить себе такую ​​роскошь времени.

Я занимался серфингом и наткнулся на шедскин, но это может не просто поддерживать модуль xml.dom.minidom для моих целей

Единственный похожий вопрос к моему на stackoverflow: Есть ли бесплатный переводчик с Python на C? мне не очень помогает, так как Cython мне не поможет, а шедскин вроде бы не поддерживает Модуль xml.dom.minidom.

Есть указатели?

Ответы [ 2 ]

3 голосов
/ 09 августа 2011

Нет переводчиков с Python на C, которые бы создавали читабельный, редактируемый исходный код на языке C.

2 голосов
/ 09 августа 2011

Вы смотрите не в ту сторону.Вместо того чтобы искать универсальный компилятор Python to C, чтобы сделать xml.dom.minidom более эффективным, замените библиотеку на lxml, которая уже является скомпилированным кодом C.Модуль lxml использует libxml2 и libxslt.

В целом, вы получаете больше возможностей в Python с меньшими затратами труда, выбирая более эффективные модули.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...