如何设置?
- Player Settings->Scripting Define Symbols:可以输入多个(complile directives 编译指令),多个的话,每个以“;”(分号)隔开
- 也可以在Assets/目录下添加一个:如:Assets/mcs.rsp,就可以为 运行时、编辑器时的脚本提供编辑指令
- Assets/us.rsp的话可以给UnityScript(Unity脚本,还没用过)定义
(mcs.rps是5.5版本或之后才用这个,之前的版本,可能使用:smcs.rsp或gmcs.rsp,具体参考ILRuntime的从零开始的-unsafe预编译选项的设置方式)
Assets/mcs.rsp例如如下内容:
-unsafe // 这意味可以使用unsafe的功能
-define:jave_macro_1;jave_macro_2 // 这里定义了jave_macro_2、jave_macro_2 的两个编译指令
public unsafe void Test()
{
int* a = ...; // 这样就可以在unity脚本unsafe的方法来使用指针了
}
public void TestMacro()
{
#ifdef jave_macro_1
Debug.Log("You have defined : jave_macro_1");
#endif
#ifdef jave_macro_2
Debug.Log("You have defined : jave_macro_2");
#endif
}
Unity部分编译的工具
- mcs.rsp都已被Unity安装目录下的mcs.exe预编译处理程序处理的(us.rsp是给us.exe处理的)
- csc.exe 是c sharp 代码的编译工具
mcs.exe工具功能
参考
- 通过Unity预编译文件smcs.rsp文件添加预编译命令–旧版本的可以参考这个,具体什么版本,我也不知道,因为和新版的不同
- Platform dependent compilation–官方最新版本的可参考这个