首页
社区
课程
招聘
[求助]VS2012 extern "C"名称修饰的问题
发表于: 2013-12-31 14:22 4488

[求助]VS2012 extern "C"名称修饰的问题

bxc 活跃值
6
2013-12-31 14:22
4488
我的一个工程里使用了udis86的库.udis86的头文件也全部使用了extern "C"的名称修饰.
可是链接时却提示无法解析的外部符号 _ud_init,ud_init函数明明被修饰成了 _ud_init@4。
为什么在链接时的名称会是_ud_init呢?

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 185
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
编译选项。  请都使用MTD MT   。 反正使用相同的就行了。

_ud_init@4  这种明显是C的修饰。
2013-12-31 14:30
0
雪    币: 209
活跃值: (143)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
不过 _ud_init@4看起来是明显的C的修饰
2013-12-31 14:40
0
雪    币: 209
活跃值: (143)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
楼主的问题看起来是调用约定的问题_ud_init@4和_ud_init分别对应于ud_init函数stdcall和cdecl调用约定下的C修饰
2013-12-31 14:43
0
雪    币: 7048
活跃值: (3527)
能力值: ( LV12,RANK:340 )
在线值:
发帖
回帖
粉丝
5
已解决。。_ud_init@4也是C的修饰。udis86的工程调用约定我使用了stdcall。
新工程中忘了改了。。。
2013-12-31 14:43
0
雪    币: 185
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
对对。 写错了。
2013-12-31 15:10
0
游客
登录 | 注册 方可回帖
返回
//