像gcc,lcc ,vc++,turbo c都有哪些区别?是不是提供的库函数不一样?
GCC是GNU Compiler Collection,这两个C既不代表C、也不代表C++,它支持多种语言,功能强大,但它只是一个编译器,不是IDE集成开发环境,不包括源代码编辑器,也不能调试
VC++是windows平台下IDE集成开发工具,不光包括编译器,还有整套程序设计、调试工具。
turbo c是dos平台下的IDE集成开发工具,仅支持C。
1. 变长数组的支持.
[c-sharp] view plain copy
void f(int len)
{
char buf[len];
}
GCC支持,MSVC不支持
2. 临时变量作为函数参数传递
f(const QString& s);
g(QString& s);
f("abc"); //MSVC通过,GCC不通过
g("abc"); //MSVC和GCC都通过
3. 找不到静态常量的定义, undefined reference to static const variable
enum TypeId {B_TYPE=0, C_TYPE};
class B
{
public:
static const TypeId B_ID=B_TYPE;
};
g((int)B::B_ID); //都工作
g(+B::B_ID); //都工作
g(B::B_ID); //MSVC工作,在GCC下不工作,
//GCC报告链接错误undefined reference to `B::B_ID' 找不到静态常量的定义
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!