Linux中gcc和g++】的更多相关文章

今天在Linux上编写一个小的C++程序运行,需要用到iostream中cout,一开始创建一个hello.c的文件编写如下代码: #include<stdio.h> #include<sys/types.h> #include<unistd.h> #include<iostream> using namespace std; int main() { int i; ;i<;i++) { fork(); //printf("H");…
一.对于C文件 对于C文件gcc和g++所做的事情确实是一样的,g++在编译C文件时调用了gcc. 二.对于C++文件 1.预处理 预处理gcc与g++做了相同的事. 2.编译 gcc无法自动和c++的库文件进行连接. g++去可以通过编译并且生成汇编文件. 3.汇编 gcc和g++在这个过程中做了同样的事情. 4.链接 g++能够链接成功,gcc不能连接成功. gcc对cpp文件执行编译和链接会报错,因为cpp和c文件中库文件的命名方式不同. g++既可以编译C又可以编译C++,g++默认编译…
1.两者都是编译器 2.gcc编译c语言:g++既可以编译c语言,也可以编译c++语言 3.gcc不能自动链接库文件,一般用g++来链接库文件,非要用gcc的话,一般使用gcc -lstdc++命令 4.extern “c”对于gcc和g++没有区别…
http://blog.sina.com.cn/s/blog_5ff2a8a201011ro8.html gcc/g++ 在执行编译时,需要4步 1.预处理,生成.i的文件[使用-E参数] 2.将预处理后的文件不转换成汇编语言,生成文件.s[使用-S参数] 3.有汇编变为目标代码(机器代码)生成.o的文件[使用-c参数] 4.连接目标代码,生成可执行程序[使用-o参数] -x language filename 设定文件所使用的语言,使后缀名无效,对以后的多个有效.也就是根据约定,C语言的后缀名…
linux中安装gcc和g++ 今天在linux的服务器上安装C/C++的编译器gcc和g++,运行了如下两条命令: 1 yum install gcc yum install g++ 然后发现gcc可以正确安装,但安装g++时却提示: Cannot find a package matching g++ 后在网上搜索后才发现,原来在linux下,C++的编译器不是g++这个名称,而是gcc-c++,由此看来的确是我想当然了.然后直接运行 1 yum install gcc-c++ libstd…
1.         gcc与g++编译流程: 1)         编译流程: 2)         预处理:生成.i的预处理文件. Ø 只激活预处理,这个不生成文件,需要把它重定向一个输出文件. Ø 演示: 3)         编译:生成.s的编译文件. Ø 只激活预处理和编译,把文件编译成汇编代码. Ø 演示: 4)         汇编:生成.o的汇编文件. Ø 只激活预处理.编译和汇编,把程序做成obj文件. Ø 演示: 5)         链接:生成链接文件. Ø 激活预处理.编…
Windows中我们常用vs来编译编写好的C和C++代码:vs把编辑器,编译器和调试器等工具都集成在这一款工具中,在Linux下我们能用什么工具来编译所编写好的代码呢,其实Linux下这样的工具有很多,但我们只介绍两款常用的工具,它们分别是gcc和g++. 工具用法介绍 gcc和g++的用法都是一样的,在这里我们只介绍gcc: 上图介绍了相关指令和参数以及该条指令所做的对应的事情. gcc -E filename.c -o filename.i 将c文件转化成C++文件,这个过程也叫做预处理过程…
首先编写了第一个C++程序,Hello,world! #include <iostream> using namespace std; void main() ...{ cout << "Hello,world!" <<endl; return; } 用命令:GCC -o test test.cpp编译,有问题.然后分析,即分开运行GCC. GCC -c -o test.o test.cpp.成功执行. GCC -o test test.o.出现一堆…
参考网易博客者"静心"的博客--<gcc与g++的区别>结合自己的认识做出的个人领悟.(由于个人水平有限,难免会存在错误的地方,请见谅) 一般而言,在Linux下编译程序分为以下4个阶段: 预处理:编译处理宏定义等宏命令(eg:#define)--生成后缀为".i"的文件 编译:将预处理后的文件转换成汇编语言--生成后缀为".s"的文件 汇编:由汇编生成的文件翻译为二进制目标文件--生成后缀为".o"的文件  连接…
linux在gcc编译时加上 -shared 参数时,目的是使源码编译成动态库 .so 文件: 而-fPIC的作用是 告知编译器 生成位置无关代码(编译产生的代码没有绝对位置,只有相对位置):从而可以在任意地方调用生成的动态库. 示例: gcc fun.c -shared - fPIC -o libfun.so 如果代码没有错误,则可以在当前路径下生成libfunc.so文件: 此时此动态库还不能被正确的链接上,因为系统寻找链接库的路径不包含当前路径:需要将此so文件放到搜寻路径中,或者添加寻找…