C++语言 如何用G++进行编译和运行程序

在windows下,我们写C++程序一般会有如下几个步骤:

  • 编写.cpp文件,代码都在里面;
  • 可能还有一些.h文件之类的支持文件,这些文件一般都会放在一起,或者相对位置是固定的;
  • 编译文件,链接文件,生成.exe文件
  • 双击执行.exe文件(其实开发平台里的“运行”就是帮你双击了一下而已)

在Linux下这些步骤基本都是一样的,不同的是,Linux最后生成的文件不是.exe,而是.out

 

调用C++编译器的命令因编译器和操作系统的不同而不同,常用的编译器是GNU编译器和微软Visual Studio编译器。调用GNU编译器的默认命令是g++   --《primer》

gcc 是 c 语言的编译器, g++是C++的。

gcc 和 g++分别是GNU的C和C++的编译器。一般分成四步: 

1. 预处理,生成.i的文件 [预处理器cpp]

2. 将预处理后的文件不转换成汇编语言,生成.s文件[编译器egcs]

3. 有汇编变为目标代码(机器代码)生成.o文件[汇编器as]

4. 连接目标代码,生成可执行程序 [链接器]                             

例子      

编译

使用编译器将代码编译成二进制目标文件(object file)。

g++  -c   file.cpp  -o   file.o

链接

将二进制目标文件链接起来生成可执行文件

g++  file1.o  file2.o  -o   test.exe

执行

执行可执行文件(.exe这个后缀可以不加)

 ./test.exe

直接编译成可执行文件

g++ program.cpp -o program.exe

如果在Unix下可执行文件无后缀,在Windows下生成后缀为.exe的可执行文件。-o 是用来改名的参数,如果不写-o program,那么在Unix下生成的是a.out而在Windows下生成的是a.exe的可执行文件。(同样的,运行时.exe可以不加)

参数含义整理

-o:  修改生成文件的名字,如果不修改的话名字在Unix下面是a.out,Windows下面是a.exe的可执行文件名字,实在有点难听。用这个参数可以修改默认的名字。

-c:  不做第四步生成可执行文件,只生成.o的目标文件

 

https://blog.csdn.net/u013793399/article/details/51365311

https://www.cnblogs.com/viggo/articles/11284188.html

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值