Linux下C++开发笔记--g++命令

目录

1--前言

2--开发环境搭建

3--g++重要编译参数

4--实例


1--前言

最近学习在linux环境下进行C++开发的基础知识,参考的教程是基于VSCode和CMake实现C/C++开发 | Linux篇,非常适合小白入门学习。

2--开发环境搭建

①安装gcc、g++和gdb:

sudo apt update

sudo apt install build-essential gdb

查看是否安装成功及版本:

gcc --version
g++ --version
gdb --version

②安装CMake:

sudo apt install cmake

查看是否安装成功及版本:

cmake --version

3--g++重要编译参数

①-g:编译带调试信息的的可执行文件

g++ -g main.cpp

②-O:优化源代码,-O1为默认优化,-O2为最常用的优化

g++ -O2 main.cpp

③-L(大L):指定库文件(动态库为.so文件,静态库为.a文件)所在的目录

④-l(小L):指定具体的库文件

g++ -L/home/liujinfu/libfolder -lmytest main.cpp

:在 /lib/usr/lib/usr/local/lib 三个目录里的库可以直接用-l参数进行链接;上述指令中,/home/liujinfu/libfolder为库所在的文件夹,mytest为对应的libmytest.a静态库libmytest.so动态库动态库的优先级高于静态库

⑤-I(大i):指定.h头文件的搜索目录

g++ -I/myinclude main.cpp

⑥-Wall:打印警告信息

⑦-w:关闭所有警告信息

g++ -Wall main.cpp

g++ -w main.cpp

⑧-std=c++11:设置编译标准

g++ -std=c++11 main.cpp

⑨-o:指定输出文件名(不指定,默认生成a.out可执行文件)

g++ main.cpp -o main

⑩-D:定义宏

4--实例

①建议如下图所示的项目:

②代码实现:

main.cpp:

#include <iostream>
#include "swap.h"

using namespace std;

int main(){
    int a = 3;
    int b = 4;
    cout << "Before Swap: " << endl;
    cout << "a = " << a << ", b = " << b << endl;
    swap(a, b);
    cout << "After Swap: " << endl;
    cout << "a = " << a << ", b = " << b << endl;
}

swap.cpp:

#include "swap.h"

void swap(int &a, int &b){
    int temp;
    temp = a;
    a = b;
    b = temp;
}

swap.h:

void swap(int &a. int &b);

③使用g++编译:

g++ main.cpp src/swap.cpp -Iinclude -std=c++11 -O2 -Wall -o test.out

④运行可执行文件:

 


版权声明:本文为weixin_43863869原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。