编译
冒似不编译没有.lib可以用
从官方上下载稳定版本的代码, 不要去GitHub直接拉
默认的工程有几个路径和宏之类的不对, 小改一下就可以
如果缺文件, 可以到GitHub的历史版本里去找...缺点是粘合层的代码现在没有比较好的自动生成方案, 只有一个类似luabind的monobind, 但是C#那边还是要声明一遍....自己去解析C++头文件再生成两边的代码的话, 可以参考一下doxybind.
P/Invoke: 最通用的方案, .Net圈子里用得很多. 缺点是C++这边必须编译成DLL, 导出很多函数....用SWIG的话只需要定义一个文件指明需要把哪些头文件导出给C#用, 然后粘合层的cpp和C#的包装代码都可以自动生成, 再集成到VC的build event中, 编译好工程直接就生成好C#这边引用的DLL...解决办法有两个: 一是从内存加载, 二是先卸载再编译
加载后需要还原卸载前的对象状态, 这可以通过序列化来实现
C#的编译时间基本上可以忽略, 游戏运行时这边脚本一改, 卡个几帧就可以继续用新的脚本继续跑了