g++编译C++

需path中设置好mingw

lib  libexec include

g++  -o test.exe test.cpp

https://blog.youkuaiyun.com/qq_39422827/article/details/78512720

 

NOTEPAD++中设置Mingw编译的方式

运行-运行中设置如下,然后快捷键设置为ctrl+f5

cmd /k cd /d "$(CURRENT_DIRECTORY)" & g++ "$(FILE_NAME)" -o "$(NAME_PART)" & "$(NAME_PART).exe"

参考

https://www.bilibili.com/video/av24657288/?spm_id_from=trigger_reload

g++编译命令各参数解释

https://www.cnblogs.com/CodeWorkerLiMing/p/10805711.html

g++编译多个C++文件

https://blog.youkuaiyun.com/wulong710/article/details/80327225

 

g++是用于编译C++代码的常用编译器,以下是其编译C++代码的方法和相关知识: ### 基本编译方法 使用g++编译单个C++源文件时,可使用如下命令将`hello.cpp`源文件编译成可执行文件`hello`: ```sh g++ -o hello hello.cpp ``` 其中,`-o`选项用于指定输出文件的名称。若不使用`-o`选项,默认会生成一个名为`a.out`的可执行文件。 ### 多文件编译 当项目包含多个源文件时,可一次性编译多个源文件。例如,有`main.cpp`和`utils.cpp`两个源文件,可使用以下命令将它们编译成可执行文件`my_program`: ```sh g++ -o my_program main.cpp utils.cpp ``` ### 分步编译 也可以将编译过程分为多个步骤,先将源文件编译成目标文件,再将目标文件链接成可执行文件。使用指令“g++ -o hello.o -c hello.s”可将汇编文件`hello.s`汇编成`hello.o`目标文件,该文件是二进制文件,除了包含机器指令、数据之外,还包含了链接所需的符号表、调试等信息[^1]。具体步骤如下: 1. 编译源文件生成目标文件: ```sh g++ -c main.cpp -o main.o g++ -c utils.cpp -o utils.o ``` 2. 链接目标文件生成可执行文件: ```sh g++ -o my_program main.o utils.o ``` ### 常用编译参数 - **调试信息**:使用`-g`选项可在编译时生成调试信息,方便使用调试器(如GDB)进行调试。例如: ```sh g++ -g -o video_demo video_demo.cpp src/yolo-fastestv2.cpp -I src/include -I include/ncnn lib/libncnn.a `pkg-config --libs --cflags opencv` -fopenmp ``` - **指定头文件搜索路径**:使用`-I`选项可指定头文件的搜索路径。例如,`-I src/include`表示在`src/include`目录下搜索头文件。 - **指定库文件搜索路径**:使用`-L`选项可指定库文件的搜索路径,使用`-l`选项可指定要链接的库文件。例如,`-L lib -lncnn`表示在`lib`目录下搜索并链接`libncnn.a`库文件。 - **开启优化**:使用`-O`系列选项可开启不同级别的优化。例如,`-O2`开启二级优化,可提高代码的执行效率。 ### 调试用例 将以下代码保存为`gdbtest.c`,使用`-g`选项编译后可使用GDB进行调试: ```c #include <stdio.h> int nGlobalVar = 0; int tempFunction(int a, int b) { printf("tempFunction is called, a = %d, b = %d \n", a, b); return (a + b); } int main() { int n; n = 1; n++; n--; nGlobalVar += 100; nGlobalVar -= 12; printf("n = %d, nGlobalVar = %d \n", n, nGlobalVar); n = tempFunction(1, 2); printf("n = %d", n); return 0; } ``` 编译命令如下: ```sh g++ -g -o gdbtest gdbtest.c ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值