设为首页收藏本站
查看: 66|回复: 0

[PHP] python调用C程序的结构体和函数

[复制链接]

论坛元老

Rank: 6Rank: 6

积分
34274
主题
17031
UID
1347
M币
67
贡献
17176

  • 发表于 2017-5-14 02:44:00 | 显示全部楼层 |阅读模式
    C代码如下:

    #include  

    typedef struct TestDLL_
    {
    int a;
    char *b;
    } testdll;

    testdll test(testdll t)
    {
    t.a=t.a+t.a;
    printf("%d\n%s\n",t.a,t.b);
    return t;
    }

    python代码如下:

    from ctypes import *

    #绝对路径
    dllpath='test.dll'
    dll=CDLL(dllpath)

    #python内部参数赋值
    a=c_int(125)
    b=c_char_p('Hello world,Hello Chengdu')

    #定义结构体
    class testdll(Structure):
    _fields_=[('a',c_int),
    ('b',c_char_p)]

    #实例化并赋值
    t=testdll()
    t.a=a
    t.b=b

    #设置返回值类型
    dll.test.restype=testdll

    #测试
    t=dll.test(t)
    print t.a
    print t.b
    x=raw_input('any key to continue')
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    在我站开通SVIP可同时获得17个站点VIP资源 立即登录 立即注册
    快速回复 返回顶部 返回列表