首页 > 其他分享 >gcc 1.c和g++ 1.c有什么区别?gcc 1.cpp和g++ 1.cpp有什么区别?GCC和G++有什么区别?

gcc 1.c和g++ 1.c有什么区别?gcc 1.cpp和g++ 1.cpp有什么区别?GCC和G++有什么区别?

时间:2024-11-11 11:19:33浏览次数:5  
标签:gcc 编译 区别 ++ 11.4 cpp

gcc 1.c和g++ 1.c有什么区别?

先假设1.c只有C语言语法,不涉及C++语法,我们利用-E/-S指令对比二者编译过程中的差异。

Based on gcc 11.4.0 and g++ 11.4.0.

#include <stdio.h>

int main()

{

        short a = 100;

        printf("%d", a);

        return 1;

}

gcc 1.cpp和g++ 1.cpp有什么区别?

gcc 1.c和g++ 1.c有什么区别?类似,我们一样用-E/-S指令探究编译内部的差异。

Based on gcc 11.4.0 and g++ 11.4.0.Based on gcc 11.4.0 and g++ 11.4.0.

#include <iostream>

using namespace std;

int main()

{

        cout << 100 << endl;

        return 1;

}

  • 预处理: 无差异。
    gcc -E 1.cpp -o 1.i
    g++ -E 1.cpp -o 11.i
  • 编译:无差异。
    gcc -S 1.cpp -o 1.s
    g++ -S 1.cpp -o 11.s
  • 汇编:无差异。
    gcc -c 1.cpp -o 1.o
    g++ -c 1.cpp -o 11.o
  • 链接:无差异。
    gcc 1.cpp -o 1 -lstdc++
    g++ 1.cpp -o 11

总结一下,gcc和g++都能识别文件类型,如果是.cpp文件,gcc就像g++一样。

GCC和G++有什么区别?

gcc命令不止能编译C语言,还可以编译C++(内部等同于调用g++)或Fortran等(编译其它语言相当于调用对应语言的编译器),g++只能编译C或者C++.

如果仅仅考虑C语言,参考此公式:g++ == gcc -xc++ -lstdc++ -shared-libgcc.

gcc 1.c和g++ 1.c有什么区别?

gcc 1.cpp和g++ 1.cpp有什么区别?


若文章对您有帮助,欢迎关注。助您在编程路上越走越好!

微风不燥,阳光正好,你就像风一样经过这里,愿你停留的片刻温暖舒心。

我是程序员小迷(致力于C、C++、Java、Kotlin、Android、iOS、Shell、JavaScript、TypeScript、Python等编程技术的技巧经验分享),若作品对您有帮助,请关注、分享、点赞、收藏、在看、喜欢,您的支持是我们为您提供帮助的最大动力。

标签:gcc,编译,区别,++,11.4,cpp
From: https://blog.csdn.net/cxsjabcabc/article/details/143676337

相关文章

  • gcc 1.c和g++ 1.c编译阶段有什么区别?如何知道g++编译默认会定义_GNU_SOURCE?
    gcc1.c和g++1.c编译阶段有什么区别?借用 gcc1.c和g++1.c有什么区别? 的示例代码,以汇编代码为比较目标,再经过汇编,最后生成ELF文件,三个过程结果均无差异,这个阶段充分证明了c和c++是多么相似。编译到汇编gcc-S1.c-o1.sg++-S1.c-o11.s .file "1.c"......
  • 【编程语言】理解C/C++当中的指针
    指针是C/C++语言中一个非常强大且重要的概念,也是编写高效程序的基础之一。对于没有编程背景的初学者来说,理解指针可能有些难度,但通过本篇文章的介绍,相信你会对指针有一个清晰的认识。本文将从指针的基本概念、作用、代码示例、注意事项等方面,带你一步步了解指针的世界。什......
  • [C++]类和对象(上篇)
    类和对象类①类的声明与定义②成员变量的规范化1.成员变量为声明③计算类的大小1.对齐数的意义2.错题展示④成员函数的位置以及传参细节1.成员函数的位置2.传参细节this指针⑤类的6个默认成员函数1.构造函数概念特性无参构造函数与全缺省构造函数不能同时出现默......
  • 【C/C++】5.字节对齐和字节填充
    字节对齐(alignment)和字节填充(padding)是优化内存访问效率和确保数据结构正确存储的重要机制。了解字节对齐和填充的原理可以帮助我们更好地设计数据结构,并且减少因不合理的内存布局引起的性能问题或程序错误。1.字节对齐(Alignment)字节对齐是指在内存中存储数据时,将数据......
  • c++实验三
    task1:代码:button.hpp:1#pragmaonce23#include<iostream>4#include<string>56usingstd::string;7usingstd::cout;89//按钮类10classButton{11public:12Button(conststring&text);13stringget_label()......
  • 实验3 c++
    任务一:button.hpp:#pragmaonce#include"button.hpp"#include<vector>#include<iostream>usingstd::vector;usingstd::cout;usingstd::endl;//窗口类classWindow{public: Window(conststring&win_title); voiddisplay()const......
  • C++ 中的enum 和 enum class
    在C++中,enum 和 enumclass 都用于定义枚举类型,但它们在使用时有一些关键区别。主要区别在于作用域和类型安全性:1. 作用域:enumclass 是强作用域的,而 enum 是弱作用域的。enumclass(强作用域枚举):枚举值需要使用枚举类型的名称进行限定。例如:enumclassColor{......
  • C++中函数定义和函数声明的区别
    这个编译错误提示:Parameter'index'isconst-qualifiedinthefunctiondeclaration;const-qualificationofparametersonlyhasaneffectinfunctiondefinitions意思是,在函数声明(声明函数的原型)中,const 修饰符对参数 index 没有实际效果。const 仅在 函数定义 ......
  • C / C++ 整数类型转换规则与示例
    在C语言编程中,不同类型之间的转换是非常常见的事情,尤其是整数类型之间的转换,比如从较短类型到较长类型的转换、从有符号类型到无符号类型的转换等。这些转换看似简单,但如果不理解它们背后的机制,可能会导致一些隐蔽的bug。本文将深入探讨整数类型转换的规则和过程,并通过实例帮助大......
  • 编程语言哪家强?对比C,C++,Java等语言的区别
    文章目录开始主题前的一些问题语言举例汇编语言C语言C语言比起汇编多了什么东西?编译器的作用是?C++语言C++语言比C语言多了什么?(推荐《深度探索C++对象模型》)C++有什么编程范式?C++语言特性分别是怎样实现?C++编译器的准则与virtual机制?C++的virtual机制如何实现的?跨平台......