[英]Which MinGW file to use as a C++ compiler
我刚刚安装了 MinGW,在 bin 文件夹中我可以看到 7 个编译我的程序的 .exe 文件:
我的小程序(testprog.cpp)与它们中的每一个都能正确编译; a.exe
文件在 bin 文件夹中生成,并且运行正常。
它们之间有什么区别,我应该使用哪一个? 另外,在每次成功编译时,如何将输出文件的名称从 a.exe 自动更改为 testprog.exe?
这些遵循 gcc 命名约定。
您通常应该用“gcc”变体编译 C 代码,用“g++”变体编译 c++ 代码。
使用-o filename
来指定输出文件名,默认是 a.exe
它们很可能都是一样的。 精确的副本或相互的符号链接。 尝试在每个选项上使用--version
标志,看看你有什么。 在我的 MingGW 安装中,这些二进制文件中的每一个都不同(使用diff
检查),但它们都输出相同的版本信息(除了第一位,即文件名):
gcc.exe (GCC) 3.4.5 (mingw-vista special r3)
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
使用-o
标志更改输出文件名:
gcc -o testprog.exe testprog.cpp
在 unix 中,它们主要通过符号链接。 唯一的主要区别在于“cc”与“++”之间。 如果您使用标准 C++ 库的任何部分,您应该注意到这两者之间的区别。 '++' 版本会自动链接到该库。 'cc' 是 C 编译器,所以不要......尽管您可以通过添加 -lstdc++ 或其他任何内容将它们用作 C++ 编译器。
当我在网上搜索有关制作一些 DLL 的说明时,我遇到了一个 C++ 编译过程,据我所见,使用 g++ 编译 c++ 的方式与使用 gcc 相同。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.