C++调用脚本(DLL)里的东西比较方便, mono的embed api很全
C#调用C++的话, 需要把C++的类在C#这边做一下映射, 有两种方式:
InternalCall: 直接用mono api...自己去解析C++头文件再生成两边的代码的话, 可以参考一下doxybind.
P/Invoke: 最通用的方案, .Net圈子里用得很多. 缺点是C++这边必须编译成DLL, 导出很多函数....用SWIG的话只需要定义一个文件指明需要把哪些头文件导出给C#用, 然后粘合层的cpp和C#的包装代码都可以自动生成, 再集成到VC的build event中, 编译好工程直接就生成好C#这边引用的DLL...热更新
虽然.net也支持直接从代码转换成可以运行的东西, 但是这里还是参考Unity把脚本都编译成DLL
热更新的基本原理: 检测到脚本的DLL发生改变就重新载入
mono是以domain为单位load...Unity是用MonoDevelop Attach到进程进行调试的. 目前山寨进度70%中...
C#脚本实践(一)
C#脚本实践(二): Unity脚本机制分析