当前位置: 首页 > wzjs >正文

东莞做网站公司郴州网站定制

东莞做网站公司,郴州网站定制,百度推广关键词怎么优化,一个人看手机在线视频From ChatGPT Prompt:教我gcc编译以及Makefile与GDB调试 好的!我来一步步教你如何使用 GCC 编译、Makefile 进行管理,以及 GDB 调试 C/C 程序。 1. 使用 GCC 编译 C/C 代码 1.1 编译 C 代码 假设有一个 C 语言程序 main.c: #…

From ChatGPT

Prompt:教我gcc编译以及Makefile与GDB调试

好的!我来一步步教你如何使用 GCC 编译、Makefile 进行管理,以及 GDB 调试 C/C++ 程序


1. 使用 GCC 编译 C/C++ 代码

1.1 编译 C 代码

假设有一个 C 语言程序 main.c

#include <stdio.h>int main() {printf("Hello, World!\n");return 0;
}

编译命令:

gcc main.c -o main

运行:

./main

1.2 编译 C++ 代码

如果是 C++ 代码 main.cpp

#include <iostream>int main() {std::cout << "Hello, C++!" << std::endl;return 0;
}

编译:

g++ main.cpp -o main

运行:

./main

1.3 启用调试信息

如果你需要用 GDB 调试,编译时加 -g

g++ -g main.cpp -o main

2. 使用 Makefile 进行编译管理

如果你的项目有多个源文件,每次编译手动输入 g++ 会很麻烦,所以可以使用 Makefile 自动化编译。

2.1 例子

假设你的项目结构如下:

project/
│── src/
│   ├── main.cpp
│   ├── add.cpp
│   ├── add.h
│── Makefile

文件 add.h:

#ifndef ADD_H
#define ADD_Hint add(int a, int b);#endif

文件 add.cpp:

#include "add.h"int add(int a, int b) {return a + b;
}

文件 main.cpp:

#include <iostream>
#include "add.h"int main() {std::cout << "3 + 4 = " << add(3, 4) << std::endl;return 0;
}

2.2 Makefile

CXX = g++
CXXFLAGS = -Wall -g
TARGET = main
SRCS = src/main.cpp src/add.cpp
OBJS = $(SRCS:.cpp=.o)$(TARGET): $(OBJS)$(CXX) $(CXXFLAGS) -o $(TARGET) $(OBJS)src/%.o: src/%.cpp$(CXX) $(CXXFLAGS) -c $< -o $@clean:rm -f $(OBJS) $(TARGET)

2.3 使用 Make

在project目录下与运行

  • 编译:
    make
    
  • 运行:
    ./main
    
  • 清理:
    make clean
    

3. 使用 GDB 进行调试

如果你的程序有 bug,需要用 GDB(GNU Debugger) 进行调试。

3.1 先编译带调试信息的程序

g++ -g main.cpp add.cpp -o main

3.2 启动 GDB

gdb ./main

3.3 常用调试命令

命令作用
run (r)运行程序
break main (b main)main 函数设置断点
break 10 (b 10)在第 10 行代码设置断点
next (n)单步执行(不进入函数内部)
step (s)单步执行(进入函数内部)
continue (c)继续运行
print x (p x)查看变量 x 的值
info locals查看当前作用域的所有变量
quit (q)退出 GDB

3.4 调试示例

启动 GDB:

gdb ./main

main.cpp 第 5 行设断点:

b main.cpp:5

运行程序:

r

单步执行:

n

查看变量值:

p a
p b

退出:

q

总结

  • GCC/G++ 直接编译 C/C++ 程序
  • Makefile 自动化管理编译流程
  • GDB 进行调试,排查 bug

这样,你就可以用 GCC + Makefile + GDB 高效地开发 C/C++ 程序了!有问题可以随时问我 😃

http://www.dtcms.com/wzjs/124203.html

相关文章:

  • 无锡加盟网站建设关键词采集网站
  • 武汉网站制作平台南昌seo计费管理
  • 最优做网站免费网站服务器安全软件下载
  • 网站seo相关设置优化seo网站诊断报告
  • 浦项建设公司员工网站广告营销包括哪些方面
  • 美国疫情最新消息今天又封了网络优化工程师骗局
  • 做网站还是app省钱凡科建站
  • 西苑做网站公司免费二级域名分发网站
  • 企业官方网站建设目的百度广告推广价格
  • 南昌市有帮做网站的吗免费推广产品平台有哪些
  • wordpress开启多站点功大数据获客系统
  • 做天猫网站价格表如何点击优化神马关键词排名
  • 贵州黔东南双控体系建设网站网络营销代运营外包公司
  • 做公司网站 烟台电脑网络优化软件
  • 企业网站建设如何去规划优化新十条
  • 网站建设找工作营销新闻
  • 浦东网站开发培训网络广告网站
  • 网站建设创新点百度权重怎么看
  • window服务器如何做网站访问网站结构有哪几种
  • 专门做防盗门的网站方象科技专注于什么领域
  • 有什么网站可以免费做四六级模拟题电商运营自学网站
  • 网站服务器购买价格快速收录工具
  • 网站建设技术网站建刷粉网站推广便宜
  • wordpress 企业主题下载长春网站优化咨询
  • 做微信的微网站费用多少免费b站推广软件
  • 成都网站建设 erp百度电话号码查询平台
  • cf辅助如何做代理拿网站推广app最快的方法
  • 广州一起做网店网站长沙网络推广外包费用
  • 有和wind一样做用网站seo入口
  • 小伙做钓鱼网站 背警方带走河南今日重大新闻