C:\base39 \frede\Cpython_win32\setup.py
Я действительно хочу получить некоторую информацию или несколько сайтов (я только что прочитал официальный документ ctypes), чтобы прочитать их, чтобы идти дальше, потому что мой первый вопрос: есть ли кто-нибудь уже пробовал это?
сначала собираем общую библиотеку, а затем запускаем
python setup.py build_ext. Тем временем я буду продвигаться по Linux, за исключением случаев, когда у меня будет ответное сообщение.
Моя ОС — 64-разрядная версия Windows 10.
Редактировать: у меня есть установил MinGW в корень C:\, но единственный раз, когда я пытался загрузить общую библиотеку из этого компилятора, но вне msys.exe, это было на другом компьютере с Matlab R14 (вечность), и это не удалось. Теперь я знаю, что мне лучше попробовать MinGW-w64 для R2021b, но я могу получить ту же ошибку (ниже). Мой второй вопрос: нужны ли мне дополнительные знания о dll, чтобы получить это?
Код: Выделить всё
from distutils.core import setup, Extension
setup(name='divide',
version='1.0',
description='Python extension package for demo',
ext_modules=[Extension('divide', ['dividefunc.c'],include_dirs=['include'])],
packages=[''],
# fred yhe package is assumed to be at the root
package_dir={'': 'lib'},
#package_data = unused here
)
Код: Выделить всё
import ctypes
lib = ctypes.cdll.LoadLibrary('divide.so') #not sure
def divide_modulo(a,b):
div=ctypes.c_int(0)
rest=ctypes.c_int(0)
lib.divide_int(a,b, ctypes.byref(div), c_types.byref(rest))
return (div.value, rest.value)
#class DynamicArray(ctypes.Structure):
# _fields_ = [("n", ctypes.c_int), ("r", ctypes.POINTER(c_types.c_int))]
./lib/libdivide.so
./source/
./setup.py
./dividepy.py
Большое спасибо
(base39) C: \base39\frede\Cpython_win32>python setup.py build_ext
запуск build_ext
создание расширения «divide»
ошибка: не удалось найти vcvarsall.bat
Подробнее здесь: https://stackoverflow.com/questions/790 ... ne-wrapper