![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
文章平均质量分 76
非肥匪费
这个作者很懒,什么都没留下…
展开
-
C 指针作为参数与动态分配内存相关问题
今天去参加面试,面试官问了一个有关指针作为参数和在子函数内动态分配空间的问题。具体内容参照:林锐《高质量C++编程》附录试题。回想一下,面试官不满意我的回答。自己也有些模糊,于是查了一下,写出我的总结,欢迎批评指正! 林锐书中说:如果函数的参数是一个指针,不要指望用该指针去申请动态内存。(详见《高质量C++编程7.4节》) 在C编译器原理上:编译器总是要为函数的每原创 2012-12-26 14:07:38 · 1178 阅读 · 1 评论 -
中断处理过程和中断服务程序ISR的限制
在程序员面试和笔试中中断是一个经常被问及的很基础的问题,本文对这次问题做一点简单说明。中断处理过程:一次完整的中断过程由中断请求、中断响应和中断处理三个阶段组成。中断处理流程:关中断->保存断电保护现场->判断中断源转到相应的中断服务->开中断->执行相应的中断服务程序(ISR)->关中断->恢复现场恢复断点->开中断->返回断点 中断服务程序的限制(1)ISR 没有参数并且返回类转载 2013-01-03 20:44:08 · 2846 阅读 · 0 评论 -
static的作用
在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。(1)先来介绍它的第一条也是最重要的一条:隐藏。当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.c,另一个是main.c。下面是a.c的内容char a = 'A'; // global variable转载 2013-07-11 12:19:28 · 756 阅读 · 0 评论 -
读写锁属性
本文转载自zfy3000《读写锁属性》通过读写锁,可以对受保护的共享资源进行并发读取和独占写入。读写锁是可以在读取或写入模式下锁定的单一实体。要修改资源,线程必须首先获取互斥写锁。必须释放所有读锁之后,才允许使用互斥写锁。有关 Solaris 线程所实现的读写锁,请参见相似的同步函数-读写锁。对数据库的访问可以使用读写锁进行同步。读写锁支持并发读取数据库记录,因为读操作转载 2013-11-14 14:53:34 · 1189 阅读 · 0 评论 -
select函数总结
阻塞方式block,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回。使用Select就可以完成非阻塞non-block,就是进程或线程执行此函数时不必非要等待事件的发生,一旦执行肯定返回,以返回值的不同来反映函数的执行情况,如果事件发生则与阻塞方式相同,若事件没有发生则返回一个代码来告知事件未发生,而进程或线程继续执行,所以效率较高。转载 2013-11-14 15:06:07 · 894 阅读 · 0 评论 -
C++继承:公有,私有,保护
公有继承(public)、私有继承(private)、保护继承(protected)是常用的三种继承方式。1. 公有继承(public)公有继承的特点是基类的公有成员和保护成员作为派生类的成员时,它们都保持原有的状态,而基类的私有成员仍然是私有的,不能被这个派生类的子类所访问。2. 私有继承(private)私有继承的特点是基类的公有成员和保护成员都作为派生类的私有转载 2013-11-14 15:08:22 · 936 阅读 · 0 评论