1.为什么用VC 6.0生成的 NOT MFC的dll没有Def文件,好像也没看到能生成该文件的工具?2.如何用非lib引导DLL的方法导出dll的类?3.extern "C"  __declspec(dllexport)与__declspec(dllexport)的区别(要详细的)4.DLL中能不能有模板类。如果有是怎样定义的。

解决方案 »

  1.   

    1.可以自己添加文件,后缀名改成.def就可以了
    2.导出类的方法和导出其他函数的方法一样,也是用extern "C"  __declspec(dllexport)导出;
    3.我只知道
    #ifdef   __cplusplus   
      #define   EXPORT   extern   "C"   __declspec(dllexport)   
      #else   
      #define   EXPORT   __declspec(dllexport)   
      #endif
    4.没导出过模板类,不太清楚
      

  2.   

    3.extern "C"  __declspec(dllexport)与__declspec(dllexport)的区别(要详细的) 
    extern "C"  __declspec(dllexport) 按照c语言的函数名字规则导出,比如int f(int ,int);假如c++导出f_int_int,按照c语言导出的话就是f。
      

  3.   

    不够详细啊...
    还有
    2.如何用非lib引导DLL的方法导出dll的类,然后在外面对该类进行应用,不能要lib引导?
      

  4.   

    1.为什么用VC 6.0生成的 NOT MFC的dll没有Def文件,好像也没看到能生成该文件的工具? 
    ===============
    DEF文件是一个文本文件,是自己手工写的,并不是用工具生成的2.如何用非lib引导DLL的方法导出dll的类? 
    ================
    和导出函数的方法没有什么不同。3.extern "C"  __declspec(dllexport)与__declspec(dllexport)的区别(要详细的) 
    ==========================
    前者在生成DLL文件中的函数名按C语言标准生成,也就是不会对函数名作修改,而后者的函数会产生一些变化,比如加一些后缀4.DLL中能不能有模板类。如果有是怎样定义的。
    ===============
    应该不能。
      

  5.   

    要详细就自己看书或者google,大家的时间和精力都是有限的。
    LoadLibrary,然后GetProcAddress,不过函数名就变成?XXX@XX@@这种形式,可以用ultraedit打开一个DLL看到
      

  6.   

    其它问题都很好,但是利用GetProcAddress引用出DLL中的类啊,这是关键,这个解决就给分。