Makefile
Makefile是一种用于管理程序构建的工具,基于文件变化决定哪些部分需要重新编译,核心语法由规则(目标、依赖、命令)组成,并支持伪目标、自动变量(如$@)、通配符匹配、模式规则及递归调用等特性,广泛应用于C/C++等编译型语言项目。
rustlings
学习 Rust 编程语言的核心笔记,涵盖变量声明与移动语义、结构体与枚举、字符串、哈希映射的 entry 方法、Option 的 match 引用、错误处理中 Box 类型和 ? 运算符、trait 默认实现、迭代器惰性求值、智能指针 Cow,以及线程中安全共享可变状态需使用 Arc 与 RefCell 等并发原语。
rust std
Rust标准库中Vec类型提供了丰富的构造方法(如vec![]、new、with_capacity、from_raw_parts)、属性访问(len、is_empty)、元素修改(resize、resize_with)、插入(insert、push、append、extend_from_slice、extend_from_within)、删除(pop、pop_if)等操作;同时位操作函数支持二进制
rust language advanced
Rust闭包是匿名函数,可捕获环境变量,通过FnOnce、FnMut、Fn三个trait控制捕获方式;迭代器是惰性的,在调用消费方法前不会产生效果。
C++
C++语法中左值可修改,右值临时不可取地址,右值引用用于移动语义;输入输出使用cin和getline读取数据,cout输出,sstream用于字符串解析与构造;STL vector支持随机访问和动态扩容,queue与priority_queue分别实现队列和优先队列操作。
数据结构与算法
数据结构与算法的核心内容包括数据的逻辑结构(线性结构如线性表、栈、队列,非线性结构如树、图)和存储结构(顺序、链式、索引、散列),并介绍了算法的基本概念(有穷性、确定性等)及效率度量(时间复杂度)。线性表、栈等数据结构的具体实现和基本操作时间复杂度也在文中详细阐述。
GCC内嵌汇编
GCC内嵌汇编分为基础与扩展两种模式,扩展模式通过输出部、输入部和损坏部实现与C变量的交互,支持volatile、inline、goto等修饰符,可用于优化代码、访问特殊指令或实现内存屏障。文章详细介绍了约束修饰符、参数引用方式,并给出了memcpy、memset、读写系统寄存器等实验示例,以及宏结合和goto跳转的高级用法。
GNU LD
GNU Linker (ld) 使用AT&T链接脚本语言,通过SECTIONS命令将输入段映射到输出段,设置VMA(虚拟地址)和LMA(加载地址)。链接脚本中的符号仅定义地址标签而非变量值,访问时需使用`char[]`类型引用地址。实验演示了如何打印段内存布局及处理加载地址与运行地址不同的场景,区分了链接地址、装载地址和运行地址。
GNU AS
GNU AS 是 GNU 汇编器,采用 AT&T 语法,常用于 gcc。它支持标号、注释、符号声明(全局与局部)、对齐伪指令(.align)、数据定义(.byte、.hword、.word、.quad、.float、.double)、字符串定义(.ascii、.asciz)、重复块(.rept/.endr)、常量定义(.equ/.set)、函数相关伪操作(.global、.include、条件编译
rust language basics
Rust是静态编译语言,变量默认不可变,使用let声明,加mut可变;常量用const声明且必须注明类型。Rust支持整数(默认i32)、浮点数(默认f64)、布尔和字符类型,整型溢出在debug模式下会panic,release下回绕。Cargo工具用于项目创建、构建和检查。




