作者meltice (三亿两千万大散户)
看板Programming
标题Re: vc++的.def对dll函数的影响??
时间Tue Jun 6 07:15:44 2006
※ 引述《[email protected] (眠月..)》之铭言:
: 在函数宣告前面加上 extern "C"
: 不然他会被加上 decorated name
: 因为预设是 C++ 编译,所以函数名称会改变 (为了支援多载)
: 就是说他在 DLL 里面的实际函数名称是修饰过的
: 比方说 max ( int, int ) 可能名称是 "max@int@int"
: 你用 GetProcAddress() 就必须输入 max@int@int 这种怪名字才能抓到
: 所以你要用用 extern "C" 来限制他的函数名称
: 当然这样做的话 这个函数名称就没办法被多载
可是我试过加上extern "C"结果没有用
用Depend看dll还是加上decorated的名子
最後还是加上个.DEF档就解决了
而且连extern "C"都不用写
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 203.204.133.140