(3)用g++进行编译生成test.so:
g++ -o test.o -c test.cpp -fPIC
g++ -shared -o test.so test.cpp -fPIC
2.4用gccxml编译C头文件生成对应的xml文件
(1)对ctypeslib中的2个模块进行封装
1) h2xml.py
#!/usr/bin/env python
import sys
from ctypeslib.h2xml import main
if __name__ == "__main__":
sys.exit(main())
2)xml2py
#!/usr/bin/env python
import sys
from ctypeslib.h2xml import main
if __name__ == "__main__":
sys.exit(main())
(2)存放上述文件在与ctypeslib同级目录。
(3)把test.h 头文件和生成的test.so 文件放到上述目录中,显示目录结构:
Ctypeslib/ ;h2xml.py;xml2py.py;test.h;test.so
(4)执行如下命令:
python h2xml.py –I. test.h –o test.xml
2.5编译xml文件生成对应的python文件
执行如下命令,生成对应的python文件:
python xml2py.py test.xml –o test_s.py –f test_f.py –l `pwd`\test.so
2.6测试脚本
(1) 测试脚本如下:
from test_s import *
from test_f import *
from ctypes import *
import unittest
|