- 博客(8)
- 资源 (3)
- 收藏
- 关注
转载 不可重入函数与线程安全函数
在多线程或有异常控制流的情况下,当某个函数运行到中途时,控制流(也就是当前指令序列)就有可能被打断而去执行另一个函数. 如果在这种情况下不会出现问题,比如说数据或状态不会被破坏,行为确定。那么这个函数就被称做"可重入"的. 补充:函数是可重入(reentrant)的,是指对于相同的(并且合法的)函数参数(包括无参函数的情况),多次调用此函数产生的行为是可预期的,即函数的行为一致,或者结
2014-11-24 16:01:27 419
转载 理解printk函数
Printk函数是在开发驱动过程中经常用到的一个函数,作用就是在串口上输出内核的信息。这个常用的函数的执行过程未必大家都和清楚,下面的文章分析一下printk的执行过程,并说明printk函数的一些特点。 下面是printk的执行过程,重要的步骤有如下几个1. printk调用vprintk函数,首先是禁止抢占,并且关闭中断;2. 调用vscnprintf函数,将输
2014-11-24 15:36:23 507
转载 class_create()和register_chrdev
从linux内核2.6的某个版本之后,devfs不复存在,udev成为devfs的替代。相比devfs,udev有很多优势,在此就不罗嗦了,提醒一点,udev是应用层的东东,不要试图在内核的配置选项里找到它;加入对udev的支持很简单,以作者所写的一个字符设备驱动为例,在驱动初始化的代码里调用class_create为该设备创建一个class,再为每个设备调用 class_device_creat
2014-11-24 14:04:18 737
原创 adb uninstall卸载apk
[plain] view plaincopy arthur@arthur-laptop:~$ adb uninstall com.hase.bclm.client-2.apk Failure 后来发现原来卸载程序时,只adb uninstall 后边的参数不应该是.apk文件,而是包名,即AndroidMainifest.xml文件中节点下,packa
2014-11-20 19:16:33 779
原创 linux下gcc编译静态库和动态库
UNIX系统开发-静态库和动态库的建立UNIX系统及各种软件包为开发人员提供了大量的库文件。但一般情况下这些库文件还不能足以满足用户的所有需求。开发人员大多会根据他们自己的开发、研究要求编写出许多函数。对于这些函数,如果都用在命令行中指定源文件的方法同调用它们的的程序链接起来,虽然也是可以的,但也有一些缺点:对每一个调用了这些函数的程序,在编译时都需要将这些函数的代码分别重新编译,这实际是
2014-11-05 20:12:24 730
转载 浅谈C++多态性
C++编程语言是一款应用广泛,支持多种程序设计的计算机编程语言。我们今天就会为大家详细介绍其中C++多态性的一些基本知识,以方便大家在学习过程中对此能够有一个充分的掌握。 多态性可以简单地概括为“一个接口,多种方法”,程序在运行时才决定调用的函数,它是面向对象编程领域的核心概念。多态(polymorphisn),字面意思多种形状。 C++多态性是通过虚函数来实现的,虚函数允许子类重新定
2014-11-04 14:31:26 391
转载 c++ static变量
1、什么是static? static 是C++中很常用的修饰符,它被用来控制变量的存储方式和可见性。2、为什么要引入static? 函数内部定义的变量,在程序执行到它的定义处时,编译器为它在栈上分配空间,大家知道,函数在栈上分配的空间在此函数执行结束时会释放掉,这样就产生了一个问题: 如果想将函数中此变量的值保存至下一次调用时,如何实现? 最容易想到的方法
2014-11-01 14:15:52 457
Project2007 user guide
2018-07-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人