我正在尝试在 ctypes 中使用 dll,但它给了我错误
我正在尝试制作一个使用 dll 来处理“热重载”情况的 python 应用程序 我不断收到错误
所以我设置了一个测试,认为这是存储在的文件夹
我使用的命令:gcc 在 Windows 上对我来说是坏的
g++ -c .\clib.c -o .\clib.o
g++ -shared .\clib.o -fPIC -o .\clib.dll
py .\main.py
clib.h
#define Export __declspec(dllexport)
Export void display(void);
clib.c
#include <stdio.h>
#include "clib.h"
Export void display(void)
{
printf("Hello, World!\n");
}
main.py
from ctypes import CDLL
from os import getcwd
CDLL(f"{getcwd()}/clib.dll").display()
我得到的错误
Traceback (most recent call last):
File "<dev-folder>\main.py", line 4, in <module>
CDLL(f"{getcwd()}/clib.dll").display()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\<current-user>\AppData\Local\Programs\Python\Python313\Lib\ctypes\__init__.py", line 403, in __getattr__
func = self.__getitem__(name)
File "C:\Users\<current-user>\AppData\Local\Programs\Python\Python313\Lib\ctypes\__init__.py", line 408, in __getitem__
func = self._FuncPtr((name_or_ordinal, self))
AttributeError: function 'display' not found
我不知道我是否做错了什么,但请帮助我理解我必须做什么