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

Makefile工具、双向链表

  • 一、Makefile:用来管理代码的编译和链接
    • Makefile的语法
      • 编译方法:gcc mian.c fun.c -o a.out
      • 目标文件:a.out
      • 依赖文件:main.c fun.c

  • -I :指定头文件所在位置
  • -L :指定使用到的库所在的位置

  • 语法规则:
    • 目标文件:依赖文件
    • 编译方法
    • Makefile自定义变量
      • OBJ SRC CC为变量名,在用变量里的值时要加$

  • Makefile系统变量
    • $^:所有依赖
    • $<:第一个依赖
    • $@:目标文件
  • Makefile时间戳
    • 在编译代码时,只编译修改后的源文件,其他没有修改的,只进行链接即可
  • gcc编译的四个步骤
    • 预处理:处理和 # 相关的指令
      • gcc -E main.c -o main.i
    • 编译:将源程序转换成汇编指令
      • gcc -S main.i-o main.s
    • 汇编:将汇编指令生成二进制指令
      • gcc -c main.s -o main.o
    • 链接:实现多文件及函数的链接关系
      • gcc main.o -o a.out
  • 二、双向链表
    • 双向链表与单向链表的区别
      • 单向链表只有一个后继指针
      • 对于单向链表的某一个节点,只能找到其后的节点,而不能找到之前的节点
    • 创建链表对象

  • 遍历

  • 插入数据
    • 头插

  • 尾插

  • 删除数据
    • 头删

  • 尾删

  • 查找数据

  • 修改数据 需要注意的是结构体之间不可以直接比较,需用结构体中的成员作比较

  • 销毁链表

    http://www.dtcms.com/a/316318.html

    相关文章:

  • xshell、xftp使用案例
  • 【2025年8月5日】将运行一段时间的单机MongoDB平滑迁移至副本集集群
  • java回顾八股文中想起的知识点
  • 为什么不用rocketmq直接发送,用StreamBridge
  • 使用Playwright MCP探索网站并编写测试
  • 解锁n8n:开启自动化工作流的无限可能
  • 面试题:vue3使用proxy相较于vue2的优点在哪里
  • 03-基于深度学习的钢铁缺陷检测-yolo11-彩色版界面
  • postman接口测试实战
  • 鸿蒙组件装饰器深度解析:@Component vs @ComponentV2
  • 【实时Linux实战系列】基于实时Linux的智能交通系统设计
  • 数据结构---Makefile 文件(格式、文件变量、调用、伪目标)、gcc编译的四个步骤、双向链表(概念、作用、应用)
  • 若依vue前端处理日期数据的格式问题(只留下年月日,去掉时分秒)
  • 小易的yolo学习笔记2
  • AlexNet训练和测试FashionMNIST数据集
  • 系统启动项管理工具对美国服务器性能基线的验证标准
  • Rust进阶-part4-智能指针2
  • 真正的多模态上下文学习需要关注视觉上下文
  • 人工智能领域、图欧科技、IMYAI智能助手2025年1月更新月报
  • 【RabbitMQ】高级特性—消息确认详解
  • 轻量应用服务器Centos系统上安装jdk8和Jdk17教程(详细)
  • BFS 和 DFS 编程思想、框架、技巧及经典例题总结
  • 【Git学习】入门与基础
  • 达芬奇31-40
  • Java技术栈/面试题合集(8)-Redis篇
  • Python爬虫08_Requests聚焦批量爬取图片
  • 如何用分布式架构视角理解宇宙稳定性?从精细调参到微服务的类比思考
  • 微服务架构及常见微服务技术栈
  • PromQL(Prometheus 查询语言)语法详解
  • 2um 精度 + 130mm 深孔扫描:新启航激光频率梳方案重塑 3D 轮廓测量标准