jameslee98
驱动牛犊
驱动牛犊
  • 注册日期2005-07-30
  • 最后登录2009-05-05
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望51点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2651回复:2

问个WDK编译的静态链接库被VC调用的的问题?

楼主#
更多 发布于:2009-03-31 10:09
用WDK编译了一个静态链接库,但是用VC使用链接是老报:unresolved external symbol 的错误。
我用dumpbin 看了下:结果用VC和WDK相同的函数,编译出的静态库里的名称是不同的。
比如如下函数:
void my_print(int num)
{
   printf("num=%d\n",num);
}
编译成静态库。
使用VC编译,用dumpbin /linkermember查看名称为    "_my_print"
而使用wdk编译,用dumpbin /linkermember查看名称为 "_my_print@4"

这是什么原因?网上查了下@4,表示该函数的调用参数的总字节数。这个问题解决?
flytiger23
驱动牛犊
驱动牛犊
  • 注册日期2009-10-23
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望71点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2010-03-30 11:52
应该是调用风格__stdcall 和 -cdecl的原因
yjmshpz
驱动牛犊
驱动牛犊
  • 注册日期2009-12-01
  • 最后登录2011-01-13
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望31点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2010-04-24 15:19
extern "C"
游客

返回顶部