【发布时间】:2018-06-20 13:16:25
【问题描述】:
我想在python中访问c的全局变量。在制作 .so 文件后,我已经可以使用 ctypes 在 python 中使用/访问 c 的功能。 这是 C 代码:
#include <stdio.h>
int globalVar = 2;
void add_int(int num1,int num2){
globalVar = num1+num2;
fprintf(globalVar, "%d\n", );
}
float add_float(float num1,float num2){
return num1+num2;
}
和 Python 代码:
from ctypes import *
adder = CDLL('/home/akshay/Desktop/ffmpeg/linking/addr.so')
adder.add_int(4,5)
var = c_int.in_dll(adder,"globalVar")
print "Sum of 4 and 5 = " + str(adder.add_int(4,5))
a = c_float(5.5)
b = c_float(4.1)
add_float = adder.add_float
add_float.restype = c_float
print "Sum of 5.5 and 4.1 = ", str(add_float(a, b))
【问题讨论】:
-
参见 python 文档中的Accessing values exported from dlls。
标签: c python-2.7 ctypes