extern"C" __declspec(dllexport) const TPluginInfo * WINAPI SetPlugin(const TPLMSysInfo *Sys);为什么这样导出的函数名是_SetPlugin@4?
要想名称是SetPulgin而参数顺序是__stdcall怎么做?

解决方案 »

  1.   

    用一个def文件指定输入名字就好了
    WINAPI 已经确定是__stdcall 了
      

  2.   

    WINAPI 就是__stdcall调用约定.
    def文件中
    exports
    SetPulgin @4
    PS:@4也可以不要.但后面的数字不能大于所有导出的函数数目
      

  3.   

    对于C编译,_stdcall调用约定在输出函数名前加一个下划线前缀,后面加上一个"@"符号和其参数的字节数,格式为_functionname@number
      

  4.   

    #ifndef MyAPI_EXPORTS
    #define MyAPI_API __declspec(dllexport)
    #else
    #define MyAPI_API __declspec(dllimport)
    #endif...#ifdef __cplusplus
    extern "C"
    {
    #endif
    //要导入/出的东东,放这里
    MyAPI_API int __stdcall Max(int a, int b);
    MyAPI_API int __stdcall Min(int a, int b);...#ifdef __cplusplus
    } // extern "C"
    #endif