![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C陷阱与缺陷
VClol
退路是留给失败者,想要接近梦想的人,没有退路可言
展开
-
malloc的线程安全与signal使用malloc的陷阱(内核态与用户态、系统调用与C库调用、可重入与不可重入)
前言:为什么写这篇博客?原因:为什么malloc本身是线程安全函数(man手册也说明了),但是signal中使用却会产生错误与陷阱,线程是调用malloc并执行,signal也是执行malloc,可是为什么是不安全的?背景知识:这4个部分留给初学者自己查资料,内容太多,这里简单叙述下,这5块搞清楚就能理解了,而且对于linux学习这几部分是必不可少的,现在可能感觉用不上,等真正做项目你才会...原创 2019-07-18 11:28:39 · 5102 阅读 · 3 评论 -
C陷阱与缺陷(更新中,总结了全书中核心内容,读者可以根据核心决定是否需要学习该书)
1、初值与初始化该部分解释到,我们在定义变量时最好作初始化操作,比如int a[N];定义数组时,N也被定义了,但是没有初始化,编译器不会报错,后续代码使用N时会陷入死循环。如果经常写代码,从经验上也不会这样定义,我一般会直接定义一个确定的值比如a[100]。2、== 与= 、&& 与& 、-- - 与- --、+=与=+区别这类问题不需要看C陷阱与缺陷也会知...原创 2019-07-16 19:26:45 · 183 阅读 · 0 评论 -
ASCII与二进制在内存中的存储区别(EOF的应用)
一、文本文件与二进制文件的定义 大家都知道计算机的存储在物理上是二进制的,所以文本文件与二进制文件的区别并不是物理上的,而是逻辑上的。这两者只是在编码层次上有差异。简单来说,文本文件是基于字符编码的文件,常见的编码有ASCII编码,UNICODE编码等等。二进制文件是基于值编码的文件,你可以根据具体应用,指定某个值是什么意思 从上面可以看出文本文件基本上是定长编码的(也有非定长...原创 2019-07-19 11:30:41 · 3242 阅读 · 0 评论