我將爲Windows和Unix操作系統體系結構開發一個命令行工具。但是我正在面臨一場鬥爭。我怎樣才能使代碼在Windows和Unix之間有效地轉換?Microsoft Visual Studio:Windows和Unix項目源代碼兼容性
項目將主要使用MS Visual Studio C++語言編寫。不過,我希望我的工具是跨平臺的,所以我可以在Windows和Unix系統中使用它。由於Unix不支持Visual Studio,因此我需要在某種程度上設計代碼結構以支持兩種體系結構(都是32位),並且OS專用標頭需要包含在代碼所在的唯一一個操作系統體系結構中。
所以我在尋求你的幫助。爲Windows和Unix維護幾乎相同的代碼的最有效方法是什麼?對於該特定操作系統的所有必需頭文件?所以我可以在Windows中創建program.exe文件,在Unix中創建program.run文件?測試當前操作系統體系結構(Windows或Unix)的一些條件,幷包括與操作系統相關的頭文件?
怎樣編碼?由於Windows命令行使用MS-DOS編碼(在中歐,它是DOS代碼頁852),Unix終端使用UTF-8編碼。我的工具將是多語言的(與貢獻者,從我的身邊開始英語和捷克語)。
我需要保持代碼結構儘可能小,當然也容易維護。源代碼應該可用於來自GitHub存儲庫的克隆/分支。
如果這不是適合堆棧溢出的問題,那麼只需告訴我,我會刪除它。只是尋求幫助,沒有別的。
開始使用'CMake'來生成你的項目。如果可能,請勿直接使用任何操作系統功能。使用標準的C++。如果你需要一些操作系統功能,看看增強提供你想要的。使用git代碼。不要將任何二進制文件或甚至生成的文件(如項目文件)放入僅存儲庫的源代碼中。 – drescherjm
是的,使用'cmake'。它現在支持VS 2017,並且可以幫助標題差異,而不必製作特定於操作系統的東西。如果這是不可避免的,請將該代碼放入操作系統抽象層。 – zzxyz
我有VS 2015社區版。它支持CMake嗎? – Polda18