前次发了一个随笔《你也使用托管C++吗?》,结果来了一个提问:

  “我想问一下,在能将现有的C++代码直接进行封装,被C#进行调用,而不是去调用DLL,也就是不生成DLL,就在C#下能直接调用VC的工程源文件不?”

  我想,提问的人是不是指,现有c++源码,但不想费劲去转换成C#源码,但又想能与C#一起编译。

  于是我就给了一个极其变态的方法,纯属恶搞。方法如下:
  1 先将C++源码,改用CLR编译选项,编译成.NET的Assembly(DLL文件)。
  2 然后用reflector等反编译软件,反编译成C#代码,并导出(reflector有专门的导出插件)。
  3 将导出的C#代码,添加上新写的C#代码一起编译。
  
  这种方法生成的代码很是恐怖,强烈建议不要把C++源码就这么丢了,否则后果自负。

  :reflector导出插件见 《让C++代码与C#代码一起生成一个单一的Assembly》--不过只适合.NET2.0

相关文章:

  • 2021-09-25
  • 2021-08-14
  • 2021-11-18
  • 2021-10-10
  • 2022-12-23
  • 2021-09-16
猜你喜欢
  • 2022-01-11
  • 2022-12-23
  • 2022-02-08
  • 2021-12-08
  • 2021-04-10
  • 2022-12-23
  • 2022-02-09
相关资源
相似解决方案