python c混合编程,c# python 相互调用
C支持在传递参数//C中编译的C格式的函数,如果用C语言编译就没必要了(文件扩展名。c)。
//__declspec(dllexport)函数被导出到库中。
#包含stdio.h
extern C _ _ declspec(dll export)void test ctyps(int x,float y,bool isNum)
{
printf(In C TestCtypes %d %f %d\n ,x,y,is num);
如果(isNum)
{
printf( true );
}
其他
{
printf( false );
}
}python添加了函数的调用打印( testctypes )
从ctypes导入*
不需要在导入库窗口中添加# dll后缀
lib=CDLL( C:\ \ Users \ \ Administrator \ \ Desktop \ \ testctypes \ \ x64 \ \ Debug \ \ testctypes )
尝试:
lib。TestCtyps(101,99.1,真)
例外情况除外,例如:
打印( testCtypes错误,例如)
#等待用户输入,程序不会退出。
Input()添加调试参数
运行:补充此例外。
也就是说整数可以直接转换,第二个参数的浮点类型不能直接转换。
C_float是必需的。
尝试:
lib。TestCtyps(101,c_float(99.1),真)
例外情况除外,例如:
打印( testCtypes错误,例如)
#等待用户输入,程序不会退出。
输入()运行成功。输出结果:
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。