Найти - Пользователи
Полная версия: создание dll в Python
Начало » Python для экспертов » создание dll в Python
1 2
tty
Всем привет!

Скажите можно ли и как создать dll средствами Python?
cybergrind
никак средствами питона.
axe
а какими внешними средствами можно создать dll из python-кода под win xp?
Ferroman
Никакими. dll пишутся на компилируемых языках.
axe
а из Cython?

переформулирую вопрос:
есть знание языка Python, а хочется создать dll. что можно сделать?
expee
Если код на cython (именно cython, а не cpython) транслируется в код на C, а затем компилируется, например, gcc, то можешь.

Вопрос: зачем тебe dll, если ты не можешь написать ее на компилируемых языках?
ZZZ
axe
есть знание языка Python, а хочется создать dll. что можно сделать?
Изучить Си.
Вообще, можно подумать о встроенном питоне. Может препроцессор какой написать… :-)
sypper-pit
может это поможет ?
axe
expee, у меня задача сделать helloworld.dll
потом буду разбираться, как вызвать упакованную функциональность из python.

я поставил MinGW-5.1.6.exe и Cython-0.11.2.win32-py2.5.exe
далее делаю по туториалу,
только вызываю чуть по-другому:
python setup.py build_ext -c mingw32
т.к. с –inplace работать не хочет

создаётся файл helloworld.c и папка build с таким содержанием:
- /lib.win32-2.5
– helloworld.pyd
- /temp.win32-2.5
– /Release
— helloworld.def
— helloworld.o

если запустить консоль python в той же папке, где лежит helloworld.pyd, то можно делать import helloworld. круто, только не знаю, что это даёт.

пробовал компилировать helloworld.c командами:
gcc helloworld.c -o helloworld.exe
и
cpp helloworld.c -o helloworld.exe

и то и другое приводит к ошибкам. в случае gcc - ошибок на два экрана, наверное, при cpp - строк 5.
в-общем, что надо делать с helloworld.c не знаю.
expee
Смысла упаковывать функции в dll, а затем использовать сторонние библиотеки для доступа к этой dll нет. Это глупо и непрактично. В тех же *nix-like системах твоя программа работать уже не будет. С твоими знаниями и нежеланием читать документацию, а так-же искать что-то, ты врятли добьешься того, чего хочешь.

Если тебе просто дали задание написать dll'ку, то пиши на си или, например, ассемблере.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB