Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用python将数据设置为共享库中的全局变量_Python_C_Ctypes - Fatal编程技术网

如何使用python将数据设置为共享库中的全局变量

如何使用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;

我有一个共享库(DLL),我正在将其导入python脚本,我可以调用函数,但不能写入全局变量。我通过传递全局变量的地址、数据和变量的大小来使用“memset”(在本例中为4字节,因为该全局变量是整数),但当我尝试读取全局变量时,它总是将输出显示为0(零)。谁能帮我一下吗。如何使用python将数据设置为共享库中的全局变量

Let's get lib的可能重复项包含一个全局
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