首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

这种库的函数是C跟还是C++的

2013-02-15 
这种库的函数是C和还是C++的?本帖最后由 yjukh 于 2013-01-31 13:39:28 编辑我查看了一个Lib的文件中的函

这种库的函数是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风格接口
[解决办法]

引用:
引用extern "C" char* __stdcall bt_gen_name(........); 

请教一下,参数怎么确定呢?

C风格__stdcall调用,没头文件无法确定参数类型,@后的数字只是所有参数的总大小

热点排行