Fluid
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于

APUE-Learning-标准IO & 信号

标准I/O流与FILE对象 注意与struct file[打开文件表项]结构的不同 一个字符可以使用单个(ASCII字符集)或多个(国际字符集)字节表示 多字节I/O函数 (wchar.h) 标准I/O打开文件时,创建了一个流对象,并将其与该文件关联起来 fopen()打开一个流时,返回一个指向FILE对象的指针 FILE对象中包含详尽的信息:用于实际I/O
2024-07-22

破除迷雾-重定位

问题 之前一直不理解重定位表中的条目是如何生成的 需要为哪些代码,哪些数据创建重定位条目 解答 《深入理解计算机操作系统》7.7节: 当汇编器生成一个模块时,在遇到对最终位置未知的目标引用时,它就会创建一个重定位条目,告诉链接器在将目标文件合并成可执行文件时如何修改这个引用 offset:该条目表示的要修改的位置在该节的偏移 symbol:需要修改引用指向的符号 type:告知链接器如何对该位
2024-07-22
程序员的自我修养

Linux-aarch64-系统调用-2

Linux系统调用的处理 注意本系列以Linux6.9为例 这里为aarch64 总结: dup2() of POSIX interface: defined in glibc INLINE_SYSCALL_CALL() -> __INLINE_SYSCALL2() -> INLINE_SYSCALL(): 针对不同的UNIX实现,定义了不同的宏实现 for Linux: INLI
2024-07-10
Linux相关

Linux-aarch64-系统调用-1

Linux系统调用定义相关 相关代码: for general arch: sys_*name -> aliased to _se_sys*name -> call _do_sys*name to do actual work for arm64 arch: _arm64_sys* -> call _se_sys* -> call _do_sys*name to do
2024-07-10
Linux相关

Linux-aarch64-中断处理流程

中断处理流程总结* * * aarch64 参考《vectors.md》可知,中断响应时,执行部分汇编码[kernel_ventry宏]后,进入el0t_64_irq[in file entry.S,用entry_handler宏定义],紧接着调用el0t_64_irq_handler[in file: entry-common.c],进行后续的处理 el0t_64_irq
2024-07-10
Linux相关

Linux-aarch64-向量表

arm64(aarch64)的中断入口 总结 部分汇编码,由宏kernel_ventry定义 el0t_64_irq el0t_64_irq_handler ret_to_user/kernel 相关两个宏定义:下面 \el,对宏参数展开 1234567891011121314151617181920212223242526272829303132333435363738394
2024-07-10
Linux相关

APUE-Learning-1

UNIX基础知识主要介绍了基础的UNIX知识,帮助初学者在UNIX环境下“存活下来” 标准系统函数的返回值,一般来解释如下 >= 0 -> 表示程序正常执行 < 0 -> 表示程序出错,返回的负数可以表征具体的错误码 三个标准“文件描述符” STDIN_FILENO = 0 STDOUT_FILENO = 1 STDERR_FILENO = 2 <uni
2024-07-10
日常记录

C语言再学习

C语言再学习 #incude <> / #include “”的区别 有三个路径需要区分: 系统库路径 -> 无需配置,这个路径已经硬写入了编译器的配置中 工程定义头文件搜索目录 -> 需要使用编译器提供的参数选项进行配置,例如gcc -I <search_path> 当前目录 -> 无需配置,但是只有使用#include "xxx.
2024-07-10
日常记录

设计规范

设计规范 使用指定长度的数据类型,需编译器提供<stdint.h>头文件,或者已知硬件芯片字长的情况下自定义 在结构体中,人为添加pad以实现结构体内成员的自然对齐,不要依赖编译器进行 CPU间通信的数据结构中,不能包含enum类型的变量 静态数据表应使用const进行修饰 一方面,const修饰的通常保存在flash中,节省RAM空间 其次,防止数据被篡改 指针对齐考虑
2024-07-10
日常记录

CI/CD相关基础

CI/CD相关 CI -> 自动化测试持续集成, 参考 **持续集成(CI)**:借助工具对软件项目进行持续的自动化的编译、打包、构建、测试、发布,来检查软件交付质量的一种行为 **持续部署(CD)**:基于__持续交付__的优势自动将经过测试的代码推入生产环境的过程 CI各阶段 代码提交阶段:会用到“版本控制工具”进行源代码的版本控制 静态代码检查阶段:只能检查代码语法错误等问
2024-07-10
日常记录
1…910111213

搜索

Hexo Fluid