当前位置: 首页> 财经> 产业 > 英文网站设计技术服务_四川网站营销seo费用_今日头条新闻大事_郑州百度seo

英文网站设计技术服务_四川网站营销seo费用_今日头条新闻大事_郑州百度seo

时间:2025/7/10 6:10:03来源:https://blog.csdn.net/2302_76213070/article/details/147158646 浏览次数:0次
英文网站设计技术服务_四川网站营销seo费用_今日头条新闻大事_郑州百度seo

核心要点:Makefile + gdb


一、Makefile
  1. 作用

    • 提高编译效率:仅重新编译修改过的文件(基于时间戳判断)。
    • 多文件项目联合编译(如 main.cstudent.cteacher.c)。
  2. 基本结构

    • 文件名:Makefile 或 makefile(后者优先级更高)。
    • 规则格式:

      makefile

       
      目标: 依赖
      shell指令(需以 Tab 缩进)
  3. 分步编译

    • 汇编gcc -c *.c -o *.o
    • 链接gcc *.o -o 可执行文件
    • 执行./可执行文件
  4. 变量与赋值

    • 定义与引用变量 = 值,引用为 $(变量)
    • 赋值方式
      • =:递归赋值(最终取值)。
      • :=:立即赋值。
      • +=:追加赋值(空格分隔)。
      • ?=:条件赋值(未定义时赋值)。
  5. 特殊变量

    • $@:目标文件名。
    • $^:所有依赖文件。
    • $<:第一个依赖文件。
  6. 内置函数

    • wildcard:查找文件,如 $(wildcard *.c)
    • patsubst:模式替换,如 $(patsubst %.c,%.o,*.c)
  7. 伪目标

    • 声明:.PHONY: 目标,避免与同名文件冲突。

二、gdb
  1. 核心功能

    • 启动程序、设置断点、查看运行状态、修改变量。
  2. 调试步骤

    • 生成调试文件gcc -g *.c -o 可执行文件(必须加 -g)。
    • 启动调试gdb 可执行文件
  3. 常用命令

    命令功能
    b 函数名/行号设置断点
    run启动程序
    bt查看堆栈
    print 变量打印变量值
    c继续执行
    next单步执行(跳过函数)
    step单步执行(进入函数)
    info b查看断点信息
    d 断点编号删除断点
    quit退出 gdb
  4. 调试 core 文件

    • 生成 core 文件
      • 确保权限:ulimit -c unlimited
      • 崩溃后生成 core 文件。
    • 调试命令gdb 可执行文件 core
  5. 调试正在运行的程序

    • 查看进程号:ps -ajx | grep 程序名
    • 附加调试:gdb -p 进程号

注意事项
  • Makefile:依赖关系需明确,避免冗余编译。
  • gdb:调试前需确保编译时添加 -g 选项,否则无法获取调试信息。
  • core 文件:若未生成,检查系统配置(如 /proc/sys/kernel/core_pattern)。

思考 18 秒

关键字:英文网站设计技术服务_四川网站营销seo费用_今日头条新闻大事_郑州百度seo

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: