VC:
dll中一函数为_stdcall 调用,
导出后的函数名被改变(例如。add变为_add@..)
如何使导出的函数名不被改变?(_Stdcall)

解决方案 »

  1.   

    1、你可以将你的导出函数定义成这种形式
    用下面这种形式定义一下你的导出函数
    extern "C" __declspec(dllexport) int add()2、你可以创建一个.def文件,在.def文件的EXPORTS字段下面写上你的要导出的函数名称
       如:
       EXPORTS
        add();
       这样在你引用这个函数的时候直接用add()这个函数名称就可以了!祝你成功!
      

  2.   

    使用 .def 文件
    (建立一个 def 文件:先新建一个 txt 文件,修改 扩展名 为 def,加入到 project中,把下面的部分 copy 到你的 def 文件,函数名应该改为你自己的函数名,变量名应该改为你自己的变量名,没有变量名就不必导出变量名)
     ;eg
    ;分号是注释LIBRARY "KyBrd"               ;
    DESCRIPTION "KyBrd library"       ;EXPORTS;导出函数
    install_keyboard_hook @1    ;前面是函数名 
    uninstall_keyboard_hook @2
    Keyboard_HookProc @3

    ;导出变量                  n_I                                  @4 PRIVATE DATA ;
      

  3.   

    感谢 :vcforever(霓裳羽衣) 
          HongHuer(Hello,world.)