您的位置:首页 > 编程语言 > Python开发

3.类型严格的调用方法

2019-11-22 23:08 381 查看
  1. 需要注意的是,方法调用的时候需要严格的对应,如果是使用_stdcall修饰的方法,那么就只能用对应的类型的工具加载,如果不使用,很可能会出现找不到的现象。

  2. 对于动态链接库的调试,官方文档给出了解决方案,使用faulthandler模块来调试。

  3. 如何进行严格的传入类型声明。

      这里会用到两个成员变量,restype argtypes,前者声明返回类型,后者声明传入类型。
    • 前者是一个元素,后者是一个集合

    案例一

    #include<stdio.h>
    extern "C"  int test(int n)
    {
    printf("hello test%d\n",n);
    return n;
    }
    from ctypes import *
    handle = cdll.LoadLibrary("./test.dll")
    handle.test.restype = c_int
    handle.test.argtypes = [c_int]
    n = handle.test(22)
    print(n,type(n))

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ctypes Python
相关文章推荐