主要区别总结 语言支持: gcc专注于C语言。 g++专注于C++语言,但也兼容C(尽管可能不是最佳实践,因为不会自动处理C++的特性)。 默认链接库: gcc链接C标准库。 g++链接C++标准库以及C标准库。 文件类型: 通常,gcc处理.c文件。 g++处理.cpp、.cxx或.cc文件。 特性处理: 使用gcc编译C++代码可能不会正确处理所
gcc和g++的主要区别在于它们处理文件后缀的方式、对__cplusplus宏的定义、以及链接时的自动库连接功能。处理文件后缀的方式:gcc:主要被设计为处理C语言代码,默认将.c文件视为C程序进行编译。g++:虽然也能处理C语言代码,但更常用于C++代码的编译,默认将.cpp文件视为C++程序。C++虽然包含C,但语法要求...
首先,误区在于有人认为gcc只能编译C代码,g++仅限于C++。实际上,两者都能处理这两种语言,只是在处理不同后缀的文件时会有所不同。.c文件会被gcc识别为C程序,而.cpp文件则视为C++。尽管C++包含C,但语法要求更严格,比如包含stdio.h时,用gcc编译cpp文件会导致错误。因此,通常建议使用g++处理cpp文...
1. 对于 *.c和*.cpp文件,gcc分别当做c和cpp文件编译(c和cpp的语法强度是不一样的) 2. 对于 *.c和*.cpp文件,g 则统一当做cpp文件编译 3. 使用g 编译文件时,g 会自动链接标准库STL,而gcc不会自动链接STL 4. gcc在编译C文件时,可使用的预定义宏是比较少的 5. gcc在编译cpp文件时/g 在编译c文件和...
对于.cpp程序文件,gcc和 g++ 处理过程没有区别。 gcc不能直接编译 C++ 程序的,需要加上-lstdc++。 g++可以直接编译C++程序,g++相当于是对gcc的封装。 (三)gcc hello.c 生成a.out,需要四个步骤: 第一步:预处理(Prepressing) 工具:预处理器 cpp
可以这样理解,gcc 是 GCC 编译器的通用编译指令,因为根据程序文件的后缀名,gcc 指令可以自行判断出当前程序所用编程语言的类别,比如: xxx.c:默认以编译 C 语言程序的方式编译此文件; xxx.cpp:默认以编译 C++ 程序的方式编译此文件。 xxx.m:默认以编译 Objective-C 程序的方式编译此文件; xxx.go:默认以编译 ...
很多人分不清楚gcc,g++,他们之间还有很大的区别。gcc和g++都是GNU(一个组织)的编译器。1、对于.c后缀的文件,gcc把它当做是C程序;g++当做是C++程序;2、对于.cpp后缀的文件,gcc和g++都会当做c++程序。3、编译阶段,g++会调用gcc;4、连接阶段,通常会用g++来完成,这是因为gcc命令不能自动和c++程序使用的库连接。
或者gcc test.c -o test -DOPEN_PRINTF_DEBUG 两者都是可以的。 五、-w -w的意思是关闭编译时的警告,也就是编译后不显示任何warning,因为有时在编译之后编译器会显示一些例如数据转换之类的警告,这些警告是我们平时可以忽略的。 六、-W和-Wall -W选项类似-Wall,会显示警告,但是只显示编译器认为会出现错误的...
cpp 6. -w 关闭警告信息 7. -std=c++11 设置编译标准 8. -o指定输出文件名 9. -D定义宏 # 在使用gcc/g++编译的时候定义宏 # 常用场景: # -DDEBUG 定义DEBUG宏,可能文件中有DEBUG宏部分的相关信息,用个DDEBUG来选择开启或关闭 DEBUG 注:使用 man gcc 命令可以查看gcc英文使用手册,见下图 2【实战】...