如何使用python将数据设置为共享库中的全局变量
我有一个共享库(DLL),我正在将其导入python脚本,我可以调用函数,但不能写入全局变量。我通过传递全局变量的地址、数据和变量的大小来使用“memset”(在本例中为4字节,因为该全局变量是整数),但当我尝试读取全局变量时,它总是将输出显示为0(零)。谁能帮我一下吗。如何使用python将数据设置为共享库中的全局变量 Let's get lib的可能重复项包含一个全局如何使用python将数据设置为共享库中的全局变量,python,c,ctypes,Python,C,Ctypes,我有一个共享库(DLL),我正在将其导入python脚本,我可以调用函数,但不能写入全局变量。我通过传递全局变量的地址、数据和变量的大小来使用“memset”(在本例中为4字节,因为该全局变量是整数),但当我尝试读取全局变量时,它总是将输出显示为0(零)。谁能帮我一下吗。如何使用python将数据设置为共享库中的全局变量 Let's get lib的可能重复项包含一个全局int变量:open('test.c','w')。write(''declspec(dllexport)int gvar=0;
int
变量:open('test.c','w')。write(''declspec(dllexport)int gvar=0;')代码>os.system('cl/LD test.c')
lib=ctypes.CDLL('test')代码>。现在将该值设置为42:gvar=ctypes.c_int.in_dll(lib,'gvar')
gvar.value=42
。可能的重复让我们获得一个带有全局int
变量的lib:open('test.c','w')。write('uuu declspec(dllexport)int gvar=0;')代码>os.system('cl/LD test.c')
lib=ctypes.CDLL('test')代码>。现在将该值设置为42:gvar=ctypes.c_int.in_dll(lib,'gvar')代码>gvar.value=42
。