首页 > c#怎么调用c++的类和函数

c#怎么调用c++的类和函数

最近用c++做了一个简单的图书管理系统,有reader,book,readerDatabase,bookDatabase四个类,和借书还书两个方法。一开始是用的控制台,现在给这个小的图书管理系统,做一个界面,想法是用c#做一个winform程序,其中去调用c++的类,我怎么把我的c++代码封装成dll给c#调用呢?.net的托管c++类是怎么写的呀?假如我去学这方面的知识该去看哪些书呢?什么的书都没有讲解这方面的知识的。希望各位朋友给点建议指点,或者是推荐一些相关书籍。非常感谢能够帮助以及也在关注该问题的朋友!


一种方式是托管 c++,但是有可能对代码更改较大,
另一种是链接


check out C++/CLI (aka managed C++). Write a wrapper that uses your native class as a member

最好给每一个用到的native concrete class 写一个对应的Interface,在Managed C++ 里用 INativeCore 而不是NativeCore ,来避免一些坑

// in your native core:

// define an interface wrapper for your native core
class INativeCore{
// ...
}
class NativeCore: public INativeCore{
// ... 
}

// in your C++/CLI code
ref public class ManagedClass{
private:
  INativeCore* pCore; // delegate all method calls to native core
public:
  void foo(){
  pCore->foo(); 
}
// ... other methods
}

equivalent SO question

【热门文章】
【热门文章】