From c62dc31f7425d4246a4b17df25123bb5402c0742 Mon Sep 17 00:00:00 2001 From: Zengtudor Date: Tue, 22 Oct 2024 10:59:11 +0800 Subject: [PATCH] update --- README.md | 54 +++++++++++++++++----------------- senior/1.基础知识与编程环境.md | 40 +++++++++++++++++++++++++ 2 files changed, 67 insertions(+), 27 deletions(-) create mode 100644 senior/1.基础知识与编程环境.md diff --git a/README.md b/README.md index f94a860..37f688f 100644 --- a/README.md +++ b/README.md @@ -8,30 +8,30 @@ ### 优先撰写提高组内容,会录制视频,这里放一个大纲内容 -2. 大纲 - 1. 入门级(暂未开始) - 2. 提高级 - 1. 基础知识与编程环境 - 2. C++程序设计 - 1. 类 - 2. STL模板 - 3. 数据结构 - 1. 线性结构 - 2. 集合与森林 - 3. 常见图 - 4. 哈希表 - 4. 算法 - 1. 复杂度分析 - 2. 算法策略(离散化) - 3. 基础算法(分治算法) - 4. 排序算法 - 5. 字符串相关算法(KMP) - 6. 搜索算法 - 7. 图论算法 - 8. 动态规划 - 5. 数学与其它 - 1. 初等数学 - 2. 初等数论 - 3. 离散与组合数学 - 4. 线性代数 - 3. NOI级(暂未开始) +1. 大纲 + 1. 入门级(暂未开始) + 2. 提高级 + 1. [基础知识与编程环境](./senior/1.%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86%E4%B8%8E%E7%BC%96%E7%A8%8B%E7%8E%AF%E5%A2%83.md) + 2. C++程序设计 + 1. 类 + 2. STL模板 + 3. 数据结构 + 1. 线性结构 + 2. 集合与森林 + 3. 常见图 + 4. 哈希表 + 4. 算法 + 1. 复杂度分析 + 2. 算法策略(离散化) + 3. 基础算法(分治算法) + 4. 排序算法 + 5. 字符串相关算法(KMP) + 6. 搜索算法 + 7. 图论算法 + 8. 动态规划 + 5. 数学与其它 + 1. 初等数学 + 2. 初等数论 + 3. 离散与组合数学 + 4. 线性代数 + 3. NOI级(暂未开始) \ No newline at end of file diff --git a/senior/1.基础知识与编程环境.md b/senior/1.基础知识与编程环境.md new file mode 100644 index 0000000..8cb3c5e --- /dev/null +++ b/senior/1.基础知识与编程环境.md @@ -0,0 +1,40 @@ +# Linux系统终端中常用的文件与目录操作命令 + +1. **cd 进入文件夹** +2. **ls 列出当前目录有什么文件,可以添加参数** +3. **pwd 当前在哪个目录** +4. **mkdir 创建文件夹 -p 递归创建** +5. **cp 复制文件** +6. **mv 移动文件** +7. **rm 删除文件 -r 递归删除 -f 强行删除** +8. chmod 更改文件权限 +9. chown 更改文件所有者 +10. g++ gcc 编译命令 + + 1. **g++ [source file 1 .....] -o [output file] [-O1,-O2,-O3,-Ofast] [-I/path/to/include/dir] [-L/path/to/libdir] [-l/path/to/lib] 基本编译** + 2. **gcc 与g++没有本质不同,只是gcc没有链接c++标准库** + 3. g++ -E [source file1...] -o [output file] 生成经过预处理器的文本文件 + 4. g++ -S [sourcefile1...] -o [output file] 生成经过汇编编码的汇编文件 + 5. g++ -c [source file1...] -o [output file] 生成没有链接的二进制文件 +11. 在linux终端运行程序只需要输入程序的相对路径或者绝对路径,如果出现权限错误,请给可执行文件chmod +x /path/to/exe,给他可执行权限 +12. 测试程序运行时间time /path/to/exe, + + ``` + time ls + program public_html repo rocscm + + real 0m0.002s + user 0m0.002s + sys 0m0.000s + ``` + 1. real 外部能观测到的总时间 + 2. user 程序在用户态实际执行的时间(除了系统调用和内核线程切换) + 3. sys 系统态时间,程序在I/O交互或者硬件调用的时间 +13. GDB 工具的使用 + 1. gdb /path/to/exe 调试可执行文件,注意编译时要使用-g编译添加调试符号性息,优化最高开到-O2 + 2. 进入gdb页面后使用b <行号,函数名>,添加断点 + 3. r 开始运行 + 4. c 继续运行 + 5. s 逐步运行 + 6. n 到下一步,不会进入下一级函数 + 7. quit 退出