Linux编译c++(gcc、g++、gdb)以及Windows环境下使用vs code和cmake进行跨平台c++开发、编译32位程序

环境:Ubuntu Server 16.04

g++:5.4.0

gcc:5.4.0

gdb:7.11.1

cmake:3.5.1

make:GNU Make 4.1

编译c++时,推荐使用g++。

一、命令行方式

1.安装编译环境:

// 以下语句一句一句执行
sudo apt update
// 该句执行后同时安装gcc g++ gdb
sudo apt install build-essential gdb
// 安装完成后分别输入下面的命令查看版本
gcc --version
g++ --version
gdb --version
// 安装cmake
sudo apt install cmake
// 安装成功后,输入下面的命令查看版本
cmake --version

如果你需要在64位环境下编译32位程序,那么还需要安装下面两个库:

sudo apt install gcc-multilib g++-multilib

2.创建一个测试c++文件:test.cpp:

vi test.cpp

输入代码:

#include <iostream>
using namespace std;

int main()
{
        cout << "hello world" <<endl;
        return 0;
}

保存并退出。

3.直接使用下面的命令,就可以编译:

g++ test.cpp -o test

这个时候当前目录会多一个test文件,使用命令:./test,就会在界面输出hello world。

4.上一步是一次到位,实际上它的过程是这样的:

// 预处理Pre-Processing 
// -E 让编译器仅对输入文件进行预处理
g++ -E test.cpp -o test.i

// 编译-Compiling -S 让g++在为c++代码产生汇编语言文件后停止编译
// g++ 产生的汇编语言扩展名是.s
g++ -S test.i -o test.s

// 汇编-Assembling 
// -c 让g++仅把源代码编译为机器语言,这里的c是小写
// 创建的文件扩展名为.o
g++ -c test.s -o test.o

// 链接-Linking 
// bin文件
g++ test.o -o test

如果比较的话,会发现这一步生成的test文件和上一步是完全一样的。

5.重要参数:

// -g 产生能够被调试器gdb使用的调试信息,以调试程序
// 产生带调试信息的可执行文件test
g++ -g test.cpp -o test

// -O[n] 优化源代码
// -O等价于-O1,-O0表示不做优化,-O1、-O2、-O3表示不同的优化等级。
// -o小写表示输出,指定输出文件名,和大写有区别
g++ test.cpp -O3 -o test

// -l和-L 指定库文件 | 指定库文件路径
// 在/lib和/usr/lib和/usr/local/lib里的库直接用-l就可以链接
// 链接glo
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值