我需要在PC上的Mac和.NET上爲Mono雙重編譯Mono類庫。我想做一些小的改動,但我希望使用編譯器指令拆分代碼。有什麼建議麼?編譯器#if指令在Mono和.NET之間分割
12
A
回答
14
那麼你當然可以使用
#if MONO
,然後用
gmcs -define:MONO ...
編譯(或者把你的單聲道構建配置,當然,這要看你如何建立你的圖書館)。
...你在尋找什麼?
19
優選的方法是使用運行時的檢測,因爲這允許爲任何平臺上使用的同樣的組件:
using System;
class Program {
static void Main()
{
Type t = Type.GetType ("Mono.Runtime");
if (t != null)
Console.WriteLine ("You are running with the Mono VM");
else
Console.WriteLine ("You are running something else");
}
}
41
雖然運行時檢查可能是優選的,與所述單聲道編譯器,所述預定義的__MonoCS__
常數是有用的,例如:
#if __MonoCS__
// Code for Mono C# compiler.
#else
// Code for Microsoft C# compiler.
#endif
+1
只要確保沒有開發人員添加了誰__ __ MonoCS到Visual Studio項目建設的屬性,然後想知道爲什麼編譯代碼不能按預期工作! : -/ – Stewart 2012-09-10 13:08:29
相關問題
- 1. 在#if #endif指令之間切換
- 2. Android編譯時間指令
- 3. Ang-ng-if不重新編譯指令
- 4. 預處理器指令之間的區別#if和#ifdef
- 5. if(flag)和if(flag!= 0)之間的編譯時性能差異?
- 6. 如何區分預處理器和編譯器指令?
- 7. ARC的編譯器指令
- 8. C#編譯器指令
- 9. Angular.js ng-if指令不會在控制器之間更新
- 10. .NET命令行編譯器在哪裏?
- 11. Windows GCC和MSVC編譯器之間的編譯時間比較
- 12. 編譯角度編輯器指令
- 13. 使用Windows編譯器之間的編譯庫編譯器,cygwin和linux g ++
- 14. 分割後印有XC8 C編譯器
- 15. 編譯器優化,分割宏擴展
- 16. if-check和inline條件之間是否存在編譯器差異?
- 17. 在緊湊和完整的.net框架之間切換編譯?
- 18. 預處理器指令#if與正常之間的區別
- 19. 編譯sse內在指令
- 20. 編譯器指令如何對使用.NET的核心
- 21. Angularjs指令編譯
- 22. C#預處理器指令(#if和#endif)不起作用。編譯錯誤
- 23. 在不同平臺上編譯的編譯器指令
- 24. GNU Make中的ifeq指令和if函數之間的區別
- 25. boost分割編譯問題
- 26. 哪個Flash SWF編譯器使用編譯器指令?
- 27. 在Mono/Linux下編譯Assimp.NET
- 28. 針對帶有Mono的.NET Framework 4.0的目標和編譯
- 29. 編譯元素指令期間傳播角度屬性指令
- 30. mapreduce分割和火花分割之間的區別
並不能幫助我們這些想使用單特異性功能... – 2013-06-26 16:43:15