首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
Linux中gcc与g++编译器的区别
】的更多相关文章
Linux中gcc与g++编译器的区别
一.对于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++默认编译…
linux中gcc和g++的区别
1.两者都是编译器 2.gcc编译c语言:g++既可以编译c语言,也可以编译c++语言 3.gcc不能自动链接库文件,一般用g++来链接库文件,非要用gcc的话,一般使用gcc -lstdc++命令 4.extern “c”对于gcc和g++没有区别…
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");…
[转] Linux中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中yum和apt-get用法及区别
Linux中yum和apt-get用法及区别 一般来说著名的linux系统基本上分两大类: 1.RedHat系列:Redhat.Centos.Fedora等 2.Debian系列:Debian.Ubuntu等 RedHat 系列 1 常见的安装包格式 rpm包,安装rpm包的命令是“rpm -参数” 2 包管理工具 yum 3 支持tar包 Debian系列 1 常见的安装包格式 deb包,安装deb包的命令是“dpkg -参数” 2 包管理工具 apt-get 3…
linux中fork, source和exec的区别
转:linux中fork, source和exec的区别 shell的命令可以分为内部命令和外部命令. 内部命令是由特殊的文件格式.def实现的,如cd,ls等.而外部命令是通过系统调用或独立程序实现的,如awk,sed. source和exec都是内部命令. fork 使用 fork 方式运行 script 时, 就是让 shell(parent process) 产生一个 child process 去执行该 script, 当 child process 结束后, 会返回 parent…
【C/C++】Linux的gcc和g++的区别
Windows中我们常用vs来编译编写好的C和C++代码:vs把编辑器,编译器和调试器等工具都集成在这一款工具中,在Linux下我们能用什么工具来编译所编写好的代码呢,其实Linux下这样的工具有很多,但我们只介绍两款常用的工具,它们分别是gcc和g++. 工具用法介绍 gcc和g++的用法都是一样的,在这里我们只介绍gcc: 上图介绍了相关指令和参数以及该条指令所做的对应的事情. gcc -E filename.c -o filename.i 将c文件转化成C++文件,这个过程也叫做预处理过程…
Linux下gcc和g++的区别
首先编写了第一个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++编译器和gcc编译器的区别
GCC:(GNU Compiler Collection,GNU编译器套件),是由 GNU 开发的编程语言编译器.它是以GPL许可证所发行的自由软件,也是 GNU计划的关键部分. gcc:GNU的C语言编译器. g++:GNU的C++语言编译器. 区别一: gcc:编译文件后缀为.c的文件时,编译成编译成C语言,编译文件后缀为.cpp的文件时,编译成C++语言. g++:编译.c/.cpp文件时,只编译成c++语言. 区别二: 如果你使用g++去链接.o文件,它将自动链接c++标准库(gcc不会…
Linux下gcc与g++用法以及编写makefile
1. gcc与g++编译流程: 1) 编译流程: 2) 预处理:生成.i的预处理文件. Ø 只激活预处理,这个不生成文件,需要把它重定向一个输出文件. Ø 演示: 3) 编译:生成.s的编译文件. Ø 只激活预处理和编译,把文件编译成汇编代码. Ø 演示: 4) 汇编:生成.o的汇编文件. Ø 只激活预处理.编译和汇编,把程序做成obj文件. Ø 演示: 5) 链接:生成链接文件. Ø 激活预处理.编…
linux 安装gcc和g++
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…
Linux 下 gcc 与 g++的差别
参考网易博客者"静心"的博客--<gcc与g++的区别>结合自己的认识做出的个人领悟.(由于个人水平有限,难免会存在错误的地方,请见谅) 一般而言,在Linux下编译程序分为以下4个阶段: 预处理:编译处理宏定义等宏命令(eg:#define)--生成后缀为".i"的文件 编译:将预处理后的文件转换成汇编语言--生成后缀为".s"的文件 汇编:由汇编生成的文件翻译为二进制目标文件--生成后缀为".o"的文件 连接…
linux中[gcc -shared -fPIC]的含义
linux在gcc编译时加上 -shared 参数时,目的是使源码编译成动态库 .so 文件: 而-fPIC的作用是 告知编译器 生成位置无关代码(编译产生的代码没有绝对位置,只有相对位置):从而可以在任意地方调用生成的动态库. 示例: gcc fun.c -shared - fPIC -o libfun.so 如果代码没有错误,则可以在当前路径下生成libfunc.so文件: 此时此动态库还不能被正确的链接上,因为系统寻找链接库的路径不包含当前路径:需要将此so文件放到搜寻路径中,或者添加寻找…
linux中软链接和硬链接的区别与小结
ln命令 该命令在文件之间创建链接.这种操作实际上是给系统中已有的某个文件指定另外一个可用于访问它的名称.对于这个新的文件名,我们可以为之指定不同的访问权限,以控制对信息的共享和安全性的问题. 如果链接指向目录,用户就可以利用该链接直接进入被链接的目录而不用打一大堆的路径名.而且,即使我们删除这个链接,也不会破坏原来的目录. 语法:ln [选项] 目标 [链接名] ln [选项] 目标 目录 链接有两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link).…
gcc和g++编译器
.c文件,gcc当做c语言处理 .cpp文件,gcc和g++当做c++处理 .c文件和.cpp文件编译时,都是使用的gcc编译器 .cpp使用gcc链接,需要加入-lstdc++选项 举例 #include <iostream> using namespace std; int main() { cout << "hello furong." << endl; return 0; } # gcc *.cpp -c # g++ *.o # ./a.ou…
linux中软连接和硬链接的区别
linux中创建软连接和硬链接的方法: 软连接: ln -s oldfile slink 硬连接: ln oldfile hlink linux中创建软连接和硬链接的区别: 原理上,硬链接和源文件的inode节点号相同,两者互为硬链接.软连接和源文件的inode节点号不同,进而指向的block也不同,软连接block中存放了源文件的路径名. 实际上,硬链接和源文件是同一份文件,而软连接是独立的文件,类似于快捷方式,存储着源文件的位置信息便于指向. 使用限制上,不能对目…
linux中/etc/profile 和 ~/.bash_profile 的区别
在 linux中设置环境变量一般使用bash_profile进行配置 其中/etc/bash_profile 表示系统整体设置 ,生效后系统内所有用户可用而 ~/.bash_profile 只表示当前用户的个人设置,生效后只该用户可用.…
Linux中gcc编译器的用法
在Linux环境下进行开发,gcc是非常重要的编译工具,所以学习gcc的基本常见用法时非常有必要的. 一.首先我们先说明下gcc编译源文件的后缀名类型 .c为后缀的文件,C语言源代码文件: .a为后缀的文件,是由目标文件构成的档案库文件: .C,.cc或.cxx 为后缀的文件,是C++源代码文件: .h为后缀的文件,是程序所包含的头文件: .i 为后缀的文件,是已经预处理过的C源代码文件: .ii为后缀的文件,是已经预处理过的C++源代码文件: .m为后缀的文件,是Objective…
Linux下gcc和g++编译helloworld
linux C(hello world) 1.使用vi/vim进行编写代码并保存为hello_world.c.如下: 1 2 3 4 5 6 /* This is my first C program*/ #include <stdio.h> int main(){ printf("Hello World!\n"); return 0; } 2.使用gcc进行编译 gcc hello_world.c -o hello_world /…
Linux下gcc,g++,gdb,scon部分用法笔记
1 Ubuntu下编译安装GCC-4.1.2 拷贝gcc-4.1.2.tar.bz2(我下载的压缩文件)到/usr/local/src 解压 新生成的gcc-4.1.2这个目录被称为源目录,用${srcdir}表示它.目标目录(用${objdir}表示)是用来存放编译结果的地方 配置shell> ${srcdir}/configure --prefix=${destdir} [其它选项] 例如,如果想将GCC 4.1.2安装到/usr/local/gcc-4.1.2目录下,则${destdir}…
Linux中apt与apt-get命令的区别与解释
2019-01-15 14:35:39 随着 apt install package 命令的使用频率和普遍性逐步超过 apt-get install package,越来越多的其它 Linux 发行版也开始遵循 Ubuntu 的脚步,开始鼓励用户使用 apt 而不是 apt-get. Debian 作为 Ubuntu.Linux Mint 和 elementary OS 等 Linux 操作系统的母板,其具有强健的「包管理」系统,它的每个组件和应用程序都内置在系统中安装的软件包中.Debian…
Linux 安装gcc、gcc-c++编译器
安装环境 Red Hat Enterprise Linux Server release 7.3 (Maipo) 方式一:yum安装 使用ISO制作yum源:Linux 使用系统ISO制作yum源 yum install gcc yum install gcc-c++ 方式二:离线安装rpm文件 gcc rpm包清单: gcc-c++ rpm包清单: rpm -Uvh *.rpm --nodeps --force 验证: gcc -v: gcc-c++ -v 或者 g++ -v: 参考:…
在linux中,&和&&, |和|| ,&> 与 >的区别
对应刚接触linux命令的小伙伴们来说,这些符号一定是很困扰的下面我们一起来看这些符号区别和用法 & 表示任务在后台执行,如要在后台运行 如: [root@localhost local]# java -jar test.jar > log.txt & 运行 test.jar程序 ,并且置于后台执行,执行的日志重定向 到当前默认的log.txt文件中 && 表示前一条命令执行成功时,才执行后一条命令 如: [root@localhost tmp]# ls -l &am…
linux 中gcc的·安装、编译过程
一.安装gcc编译器 通过命令gcc -v查看当前的GCC版本 [root@localhost /]# gcc -v Reading specs from /usr/i386-glibc-2.1-linux/lib/gcc-lib/i386-glibc21-linux/egcs-2.91.66/specs gcc version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release) 当出现如下问题: Command 'gcc' not found, b…
Linux中nohup和&的用法和区别
在Linux执行任务时,如果键入Ctrl+C退出进行其他任务或者关闭当前session 当前任务就会终止 要想不让进程停止或者让进程在后台运行,就需要一些命令,nohup和&就是一种非常好的方式 首先以执行一个python脚本为例: python test.py nohup和&的区别 &:后台运行,但当用户退出(挂起)的时候,命令自动也跟着退出 什么意思呢? 意思是说, 当你在执行 python test.py & 的时候, 即使你用ctrl C, 那么python tes…
Linux中select poll和epoll的区别
在Linux Socket服务器短编程时,为了处理大量客户的连接请求,需要使用非阻塞I/O和复用,select.poll和epoll是Linux API提供的I/O复用方式,自从Linux 2.6中加入了epoll之后,在高性能服务器领域得到广泛的应用,现在比较出名的nginx就是使用epoll来实现I/O复用支持高并发,目前在高并 发的场景下,nginx越来越收到欢迎.这里有个文章参考.Nginx成为全球Top1000网站最受欢迎的Web服务器. 据 w3techs 7月 3 日的统计数据表明…
linux中exec和xargs命令的区别和优劣分析
find的exec及ok命令 exec命令的格式为: exec command {} \; exec后面跟着的是操作命令,然后跟着{}表示每一个参数,然后空格,然后"\;".{}之后一定要跟一个空格,exec命令以:作为结束,为了表名:只是一个结束符,使用转义字符\加在:前面. ok命令和exec作用相同,唯一的区别在于ok是exec命令的安全模式,在执行command之前会给出提示. xargs命令 xargs命令需要结合管道符|使用,其格式为:** | xargs command…
Linux中环境变量相关文件的区别
Linux下各种不同环境变量相关文件的作用: 1. /etc/environment 设置整个系统的环境,系统启动时,该文件被执行. 2. /etc/profile 设置所有用户的环境,当用户第一次登录时,该文件被执行,并从/etc/profile.d目录的配置文件中搜集shell的设置. 3. /etc/bashrc 为每一个运行 Bash Shell 的用户执行此文件,当 Bash Shell 被打开时,该文件被执行. 4. ~/.profile 设置当前用户的…
linux 安装gcc 和 g++
以CentOS为例,安装后是没有C语言和C++编译环境的,需要手动安装,最简单的是用yum的方式安装,过程如下: 1.安装gcc yum install gcc 询问是否,按y键回车即可,或者 yum -y install gcc 不用确定全部就安装好了. 2.安装g++ yum install gcc-c++ 或者 yum -y install gcc-c++ 安装完毕. 只在CenOS 7.2下测试正常…
Linux中硬链接和软链接的区别
看了这篇文章之后,豁然开朗.直接放链接,感谢作者的分享. https://www.ibm.com/developerworks/cn/linux/l-cn-hardandsymb-links/#icomments…