none
c#如何调用vc++导出的类以及类中的方法? RRS feed

  • 问题

  • 直接导入标准的winapi没有问题,
    请问c#如何调用vc++导出的类以及类中的方法?

    something is OK.
    2009年5月11日 8:54

答案

  • C#只能使用标准的DLL,上述DLL导出方式需要调用DLL者也是使用同一版本的VC编译器才行。
    如果你要编写标准DLL,那么你只能用extern C声明导出的函数,无法导出类。你可以和Windows API一样用句柄模式来替代对象的指针。调用者需要用DllImport来声明函数的类型和dll文件名。
    如果你要编写托管/非托管混合DLL,那么无需作特殊处理,所有托管的公开类都可以被其他托管语言调用。调用者需要引用这个DLL。

    MSMVP VC++
    • 已标记为答案 月之海 2009年5月12日 2:18
    2009年5月11日 18:15
    版主

全部回复

  • vc:
    class AFX_CLASS_IMPORT XXXXXXXXXXXXXXXXX
    {
    public:
    ss();
    xx();
    }

    #param coment(lib, "XXXXXXXXXXXXXXX.lib")
    木子纵横 Email: QQQ520qq@sina.com qq: 474540695
    2009年5月11日 9:07
  • 这个貌似是在c++里面的用法
    请问,在.net中的c#中该怎么用?
    something is OK.
    2009年5月11日 10:17
  • C#只能使用标准的DLL,上述DLL导出方式需要调用DLL者也是使用同一版本的VC编译器才行。
    如果你要编写标准DLL,那么你只能用extern C声明导出的函数,无法导出类。你可以和Windows API一样用句柄模式来替代对象的指针。调用者需要用DllImport来声明函数的类型和dll文件名。
    如果你要编写托管/非托管混合DLL,那么无需作特殊处理,所有托管的公开类都可以被其他托管语言调用。调用者需要引用这个DLL。

    MSMVP VC++
    • 已标记为答案 月之海 2009年5月12日 2:18
    2009年5月11日 18:15
    版主
  • 谢谢回答 版主人真好~~
    something is OK.
    2009年5月12日 2:19