
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
学会了写代码,接下来就是把它变成能跑的程序。gcc/g++ 是 Linux 下 C/C++ 的事实标准编译器。。

学会了装软件,下一步是编辑代码。Linux 服务端没有图形 IDE,日常编写代码、改配置都依赖终端编辑器。vim 是 vi 的增强版,支持语法高亮、多级撤销、插件扩展等。它最大的特点——或者说门槛——是。

当项目只有一个hello.c时,手动敲 gcc 命令没有负担。但当源文件增加到几十个、上百个,分布在不同的目录里,而且有复杂的依赖关系时,每次手动编译就变成了效率黑洞。Makefile 定义了源文件之间的依赖关系和编译规则,然后通过make命令执行自动化构建。它最核心的用途是只重新编译那些被修改过的文件,而不是整个项目重新来过。

写代码过程中,你可能经历过这种场景:为了保存不同阶段的修改,文件名叫“程序-初版”、“程序-改了一版”、“程序-最终版”、“程序-最终版-真”。它记录的不是整个文件的副本,而是每次提交之间的。Git 管理的代码有一个本地仓库(Repository),文件在工作区(Working Directory)被修改后,通过。只写“修改”、“更新”这种没有信息的描述等于没写。首次使用 Git 时,需要配置用户

printf 调试可以解决一部分简单问题,但面对段错误、逻辑错误、需要逐行观察变量变化的场景,调试器才是真正的生产力工具。gdb 是 Linux 下 C/C++ 的标准调试器,cgdb 提供了一个更友好的分屏界面(上屏代码,下屏命令),可以先装好备用:bash# CentOS# Ubuntu。

进程并不是“要么在跑,要么没在跑”这样简单二分。Linux 内核定义了几种状态,理解它们对分析系统负载和排查问题很有帮助。

本文将从“文件”的本质出发,复习C语言标准库中的文件操作接口,并引出系统调用接口,为后续深入理解文件描述符、重定向、缓冲区等概念打下基础。本文回顾了C语言中的文件操作接口,并引出文件的基本概念和系统调用的重要性。通过按位或组合多个标志,可以在一个整型参数中传递多个选项,这是Linux系统调用中非常常见的设计模式。磁盘属于外设(既是输入设备也是输出设备),对文件的所有操作本质是对外设的输入和输出,简

缓冲区是内存中的一块区域,用于临时存储输入或输出数据。根据方向分为输入缓冲区和输出缓冲区。

扫描inode位图,找到空闲inode(如inode 263466),将其标记为使用,并将文件属性(大小、权限、时间等)写入inode表。,分析超级块、块组描述符、位图、inode表和数据块的作用,并解释inode如何通过直接、间接块索引找到文件数据。:根据文件内容大小,从块位图中找空闲块(如300、500、800),将这些块号填入inode的。若硬链接计数变为0,则释放inode(清空inode

目录1. 引言2. ELF文件类型3. ELF 整体布局4. ELF Header 详解5. 节头表(Section Header Table)6. 程序头表(Program Header Table)7. 目标文件中的重定位表8. 符号表(.symtab)9. 小结ELF(Executable and Linkable Format)是Linux下可执行文件、目标文件、共享库和核心转储文件的标准








