- 博客(4)
- 收藏
- 关注
原创 与数据相关的概念描述
数据对齐是一种计算机内存管理技术,确保数据存储在内存中的特定地址上,以提高访问效率和性能。不同的数据类型(如整数、浮点数、指针等)在内存中的存储位置通常需要满足特定的边界要求,即数据的起始地址是其大小的整数倍。数据可移植性确保数据可以在不同的环境之间无缝移动,而不会因为格式、结构或技术限制而受到阻碍。:根据数据的范围选择合适的数据类型,确保变量能够容纳预期的值。:在可能溢出的情况下,使用更大的数据类型来存储中间结果。:缓冲区溢出时,多余数据覆盖后续内存数据,致数据丢失。------数据截断。
2025-03-22 21:42:05
666
原创 printf()和printk()的多线程安全
例如,线程 A 可能在缓冲区中写入了一部分数据后被线程 B 中断,线程 B 开始写入自己的数据,当线程 A 恢复时,它的数据可能与线程 B 的数据交织在一起。当一个线程正在执行函数时,另一个线程可能修改这些变量,从而导致意外的行为。使用了锁机制(如自旋锁)来保护对日志缓冲区的访问,确保即使在高并发情况下,日志记录也是原子操作,避免数据竞争和损坏。:不可重入函数是指在执行过程中,如果被其他线程或中断调用,可能会导致数据不一致或其他错误的函数。是一个不可重入函数,这意味着在多线程环境下,如果多个线程同时调用。
2025-02-21 19:06:51
457
原创 define和typedef 的差异
define只是简单的文本替换工具,而不像typedef那样具有类型定义的功能。是一个简单的文本替换工具。当编译器遇到时,它会将INT1替换为int*p1被声明为一个指针变量(int*p2被声明为一个整型变量(inttypedef是用于创建新的类型名称。INT2被定义为int*,因此变量声明p3和p4都被声明为指针变量(int*#defineINT1替换后的声明中,p1被声明为指针,而p2被声明为整型变量。这是因为的语法表示p1是指针,而p2是整型。typedefINT2作为类型定义,会明确地将p3和。
2025-02-21 18:56:08
471
原创 fopen 的“r+“、“w+“、“a+“比较
(从文件头开始写入,如果写入的数据长度低于原本文件夹内容长度,超出的不会覆盖清除,会自动补到aaaa后面)"r+" :模式在文件存在时不会清空文件,而是在文件指针当前位置开始覆盖或追加内容,文件长度可能会增加,但不会减少。文件指针初始位置:打开文件时,文件指针位于文件末尾,适合立即进行写入追加操作。"a+": 追加写入:任何写入操作都会追加到文件末尾,不会覆盖现有数据。文件存在性:如果文件不存在,"a+" 模式会创建一个新文件。"w+" :模式在文件存在时会清空文件,从头开始写入新内容。
2024-11-30 10:23:17
1520
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人