[討論] 在 Windows 上的 C/C++ 議題

作者: Neisseria (Neisseria)   2016-04-26 11:37:57
先說一下為什麼會對這個感興趣
如果是寫給自己的程式,不吃效能的,通常會找某個 script language
像是 Perl, Python, Ruby, Groovy, etc.
但是,有時候要寫一些程式給別人用,使用 script language 就不一定好
即使不用第三方函式庫,至少也要建立某個語言的環境
這時候,會找腦筋動到一些可建立靜態連結執行檔的編譯語言
當然,C/C++ 也可以做到這點,不過,相對比較不好寫
像小弟最近在學習 Go 和 Rust
看那一個比較適合做類似 script language 角色的 compiled language
另外,小弟主力平台非 Windows,平常寫程式是 Mac 或 GNU/Linux 輪流使用
Visual Studio 有自己編譯軟體的流程
但是 Visual Studio project 在其他平台上比較沒那麼流通
通常,小弟會在其他平台寫好程式後,移到 Windows 進行最後編譯的動作
如果可以用 make + Makefile 或類似的方案,會比較方便
然而,即使是 Go 和 Rust,或其他的語言,像 Haxe
有時候仍然會需要呼叫 C/C++ 函式庫
如果是在 Unix-like 系統,通常會用 apt、yum 或 Homebrew 等套件管理程式
在 Windows 下,相對比較不方便
最近發現了 MSYS2,似乎可以在某種程度上補足這個問題
小弟想說,有沒有一些教學,處理 Windows 上的 C/C++ 程式碼
像是如何編譯 static executable 和 static library
在 Windows 上面使用 MinGW toolchain 的方式等等
希望版上各位大大提供意見,感恩
作者: TobyH4cker (Toby (我要當好人))   2016-04-26 12:04:00
不用Visual Studio嗎?
作者: x000032001 (版廢了該走了)   2016-04-26 12:32:00
mingw就gcc那套搬過來用就好吧 makefile搞定編譯
作者: Schottky (順風相送)   2016-04-26 14:07:00
除非是用到各平台獨有的東西(X-Window)否則光是語言本身都是直接 compile 即可,MinGW 這點做得非常方便Dev C++ 也是做個漂亮介面而已,編譯還是交給 MinGW gcc我前面分享的程式碼,發文前都會在 Linux 和 MinGW 試過安裝 MinGW toolchain 和自製 library 我是有一些筆記但是否適用你剛貼的 MSYS2 我可能要先重頭試一遍...
作者: enthos (影斯作業系統)   2016-04-26 15:51:00
github.com/yanlinlin82/msys-cn/tree/master/wiki
作者: LPH66 (-6.2598534e+18f)   2016-04-26 23:33:00
Visual Studio 裡面有微軟自己的 nmake, 它的 makefile的寫法和 gnu make 的 makefile 差異不大, 所以也是可以直接使用; 只是 VC 的編譯器 cl 的參數和 gcc/g++ 差太多了這部份麻煩很多就是我自己現在在用 Visual Studio 都已經是寫 makefile 在跑IDE 本身只有在需要單步除錯時才會藉下斷點叫出來也就是直接跳過方案專案什麼的設定直接單步除錯
作者: uranusjr (←這人是超級笨蛋)   2016-04-27 00:14:00
其實有些問題也是可以靠 CMake 來解決

Links booklink

Contact Us: admin [ a t ] ucptt.com