原帖由 luffy.deng 于 2009-1-6 13:10 发表
是B的确没有改变va1,va2的值,还是不能用c++ 的dll?我用一个c的dll试了一下可以
import ctypes
tt=ctypes.CDLL('add.dll')
g1 = ctypes.c_int(10)
g2 = ctypes.c_int(15)
print g1,g2
tt.lkadd(ctypes ...
原帖由 Heaice 于 2009-1-6 14:02 发表
不清楚是否是ctypes对C++不支持。
我确定了下我使用的DLL是使用C写的,B函数(Int B (int Handle, ref long Len_s1, ref long Len_s2))的那种写法是因为有一个C#的程序需要调用,而且好像C#对引用的要 ...
原帖由 luffy.deng 于 2009-1-7 10:15 发表
sar是linux下的命令,用于系统监控,一般都自带了。主页在http://pagesperso-orange.fr/sebastien.godard/download.html
原帖由 newrain 于 2009-1-7 10:30 发表
#! /usr/env/python
from ctypes import *
test = CDLL("testdll")
A = test.A
A.restype = c_int
B = test.B
B.restype = c_int
B.argtypes = [c_int, c_void_p, c_void_p]
va1 = c_int()
va2 = c_in ...
# 输出结果:
1 c_long(76) c_long(8
因此,你应该仔细查看你的dll返回值是否正确,而不是去判断python的代码是否有问题!
欢迎光临 Chinaunix (http://bbs.chinaunix.net/) | Powered by Discuz! X3.2 |