[讨论] 在 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