Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 19, 2012 19:51:58

an1s1
Зарегистрирован: 2012-08-15
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Python в Си

Надыбал пока только Cython, но он, судя по всему, ориентирован на написание библиотек. Есть что-то для трансляции питоно-подобного языка в Си? Заранее благодарен.

Офлайн

#2 Авг. 19, 2012 20:02:39

odnochlen
Зарегистрирован: 2012-06-28
Сообщения: 794
Репутация: +  14  -
Профиль   Отправить e-mail  

Python в Си

А зачем?

Питон в си - это не совсем питон. Питон - динамический высокоуровневый язык, си - платформозависимый статический низкоуровневый.

И ты можешь в принципе написать и всю программу на Cython.

Офлайн

#3 Авг. 19, 2012 20:54:07

an1s1
Зарегистрирован: 2012-08-15
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Python в Си

Тогда, наверно, на нем и остановлюсь. Теперь бы еще пару статеек по преобразованию готового кода на 3 ветке в код, способный компилиться Cython'ом найти… Буду весьма благодарен, если кто подкинет пару ссылок, а я тем временем в гугл.

Офлайн

#4 Авг. 19, 2012 21:54:10

odnochlen
Зарегистрирован: 2012-06-28
Сообщения: 794
Репутация: +  14  -
Профиль   Отправить e-mail  

Python в Си

Сомневаюсь, что код можно на 100% преобразовать машиной. Разница между питоном и си огромная.

Офлайн

#5 Авг. 19, 2012 22:02:25

an1s1
Зарегистрирован: 2012-08-15
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Python в Си

Не-а, там все очень хитро: все, что нельзя реализовать чистым Си реализуется с использованием PyAPI(насколько я понял с пары обзоров).

Офлайн

#6 Авг. 19, 2012 23:24:22

EBFE
Зарегистрирован: 2012-07-03
Сообщения: 99
Репутация: +  20  -
Профиль   Отправить e-mail  

Python в Си

Может писать на pythone а запускать в PyPy?
В PyPy кстати тоже есть “преобразователь” - правда только под “RPython” (подмножество Pythona).
Еще есть Shedskin (C++).

Офлайн

#7 Авг. 20, 2012 11:05:12

an1s1
Зарегистрирован: 2012-08-15
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Python в Си

Судя по этому посту: http://habrahabr.ru/post/138537/ любой(ну или почти любой) питоновый код без проблем и изменений компилится cython'ом, PyPY же, насколько я знаю, этим похвастаться не может.
Shedskin посмотрю…

Офлайн

#8 Авг. 20, 2012 11:41:12

reclosedev
От: Н.Новгород
Зарегистрирован: 2012-03-29
Сообщения: 870
Репутация: +  173  -
Профиль   Отправить e-mail  

Python в Си

Есть еще Nuitka (C++)

Отредактировано reclosedev (Авг. 20, 2012 11:41:47)

Офлайн

#9 Авг. 20, 2012 11:50:55

an1s1
Зарегистрирован: 2012-08-15
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Python в Си

reclosedev
Есть еще Nuitka (C++)
Ему/ей тоже нужен Python API или все необходимое внутри получившегося бинарника?
Судя по этой строчке нуждается, а значит не лучше, чем cython, который компилит мой любимый 3.2:
It translates the Python into a C++ program that then uses “libpython” to execute in the same way as CPython does, in a very compatible way.

Отредактировано an1s1 (Авг. 20, 2012 11:53:45)

Офлайн

#10 Авг. 20, 2012 14:49:25

EBFE
Зарегистрирован: 2012-07-03
Сообщения: 99
Репутация: +  20  -
Профиль   Отправить e-mail  

Python в Си

Так вам что именно нужно?
Скорость выполнения (здесь PyPy рулит, ограничения: 2.7, gevent не поддерживается итд), “защита” кода (возможно хватит и обфускатора) или защита от взлома (в этом смысле С++ немного “лучьше”, хотя все упирается в концепцию - что нибудь вроде
“if registered(username, key) == True” ломается на раз, что в Pythone, что в Си) ?

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version