我是一個頑固的.NET開發人員,在C++方面經驗有限。我非常熟悉快樂解釋的語言(和腳本語言)如何跨平臺工作,但C++又如何?我知道GCC/GPP和一些其他編譯器使用正確的編譯器標誌工作多平臺,我知道STL是編譯器之間的規範化,但我還缺少什麼?我需要進行音頻輸入/輸出,高精度計時器,我需要做多線程。我不認爲STL支持任何這些東西,所以我需要一個跨平臺的某種類型的庫,對吧?我應該使用哪一個?跨平臺C++工具鏈
我打算支持最新的Mac和Windows平臺。這是一個共享框架/ sdk,不會有UI。我計劃使用Objective-C/Cocoa和.NET/WPF等本地語言編寫用戶界面(兩者都具有出色的本機用戶界面支持)。
那麼我的工具鏈應該是什麼樣的?我應該使用GCC/GPP還是MinGW?我應該整合哪些其他「圖書館」,它們的功能將跨越平臺?我想將我的構建環境設置爲「正常工作」,以便我可以構建兼容Mac的二進制文件和兼容Windows的二進制文件(32位和64位)。我怎樣才能做到這一點?
此時,我將爲每個平臺編寫代碼,以便可以與我的C++多平臺框架sdk/api thingy進行互操作。在Windows中,我認爲這看起來像一個託管的DLL,是嗎?有關我如何在Mac上執行此操作的任何想法?
任何意見或建議?
感謝您的建議, 佈雷特
如果您使用最近的編譯器(它在C++ 11中是新的),則支持STL中的線程化。 GCC 4.6和MSVC支持它,我敢打賭也是。 – 2012-03-02 00:27:32
@ J.N。是的,clang/libC++支持'std :: thread'。 – bames53 2012-03-02 00:37:41
既然.Net語言是原生的, (除了C++/CLI之外)在嘗試這樣的事情之前,清理「native」的定義以及它與C++和跨平臺的關係(以及編譯器如何不跨平臺構建)可能會有用。 – ssube 2012-03-02 00:41:09