这种库的函数是C和还是C++的?
本帖最后由 yjukh 于 2013-01-31 13:39:28 编辑
我查看了一个Lib的文件中的函数声明,发现是以下格式:
如果在C++工程中使用,应该如何声明这些函数?
我现在试了几种方法都是提示链接出错
File Type: LIBRARY
Exports
ordinal name
5 _bt_chkerr@4
4 _bt_close@4
6 _bt_clrerr@4
23 _bt_ctrl@12
22 _bt_dev2str@4
40 _bt_error2str@4
2 _bt_gen_name@16
12 _bt_get_info@12
26 _bt_get_io@12
------解决方案--------------------导出符号后有 @数字 的,这是stdcall的标志.@后的数字是参数的长度
C的命名习惯是在符号前加"_"
C++的命名没有统一标准,但看上去最乱的那种,一般都是C++.名称里经常会有$?:等符号,还有各种"无意义"的大小写字母.
所以,可以看出,你这个接口是stdcall的C风格接口
------解决方案--------------------
C风格__stdcall调用,没头文件无法确定参数类型,@后的数字只是所有参数的总大小