- 博客(54)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 malloc和new的区别
在申请分配动态内存时,malloc和new一直都困扰着程序员,今天就作个简单的对比,找到它们的区别:一、主要区别1,malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。2,对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行
2014-12-04 09:44:57
4601
转载 linux设备驱动归纳总结
linux设备驱动系列文章:http://blog.chinaunix.net/uid-25014876-id-59420.html
2017-01-16 11:00:41
525
转载 Linux中的gpio口使用方法
Linux中的IO使用方法 应该是新版本内核才有的方法。请参考:./Documentation/gpio.txt文件提供的API:驱动需要包含 #include 判断一个IO是否合法:int gpio_is_valid(int number);设置GPIO的方向,如果是输出同时设置电平:/* set as input or output, returning 0 or
2017-01-12 13:33:11
2063
转载 linux设备驱动程序注册过程详解
Linux的驱动程序注册过程,大致分为两个步骤:模块初始化驱动程序注册下面以内核提供的示例代码pci-skeleton.c,详细说明一个pci设备驱动程序的注册过程。其他设备的驱动代码注册过程基本相同,大家可自行查看。使用的内核代码版本是2.6.38。1. 模块初始化1.1 驱动程序入口所有的设备驱动程序都会有如下两行代码:1922 module_init(netd
2017-01-11 14:16:40
7485
转载 linux常用命令的各个参数
linux 基本命令ls (list 显示当前目录下文件和目录 ls -l 详细显示 =ll )[root@linux ~]# ls [-aAdfFhilRS] 目录名称[root@linux ~]# ls [--color={none,auto,always}] 目录名称[root@linux ~]# ls [--full-time] 目录名称参数:-a :全部的档案,连
2017-01-06 10:46:04
7643
转载 Linux驱动开发、22-USB子系统
USB子系统USB(universal serial bus)总线:通用串行总线,是一种外部总线标准,用于规范电脑与外部设备的连接和通讯。 USB1.0:1.5MB/SUSB1.1(full speed):12MB/SUSB2.0(high speed):480MB/SUSB3.0(supper sped):4800MB/S USB硬件结构(4线):电源(5V,50
2017-01-06 10:30:11
371
原创 Linux usb 驱动分析
Android usb驱动源码分析:http://www.cnblogs.com/cascle/articles/4442787.html>usb 设备发现机制:http://blog.csdn.net/tankai19880619/article/details/11639185
2017-01-05 17:35:10
316
原创 linux usb驱动相关文档
默默地牛逼着的博客:http://blog.csdn.net/u012719256/article/category/6514918
2017-01-05 17:20:19
308
原创 linux 那些事儿系列
fudan_adc的博客主要博文包括:linux那些事儿系列 : http://blog.csdn.net/fudan_abc/article/category/335670linux内核修炼之道 : http://blog.csdn.net/fudan_abc/article/category/655796深入前出的讲解以及风趣的风格,值得一读!
2017-01-05 16:58:12
5650
4
转载 Linux下使用USB模拟ACM串口设备
这个想法之前就在脑袋里有过,最近公司产品要用到,所以多做了些了解。1. USB 简介USB 是 Universal Serial Bus 的缩写,从字面上看,就是通用串行总线的意思。从物理上看,其实就是一对差分线,连接两台设备后,相互间进行数据传输。加上另外两路供电( 5V 和 GND)线,一共是 4 根线。那么,既然是只有一对差分线,那么该如何决定由谁传给谁呢(如果两边同时在线上建立
2017-01-05 16:48:07
15799
2
转载 Cstring 内存分配机制
CString比起STL的string来说,有很多方便的地方。许多有经验的作者在他们的文章里都写过,string是一个很好用的类型,但是往往MFC程序里的许多BUG就是它引起的,典型的漏洞有:缓冲溢出、内存泄漏等。而且这些BUG都是致命的,会造成系统的瘫痪。因此C++里就专门的做了一个类用来维护字符串指针。标准C++里的字符串类是string,在microsoft MFC类库中使用的是CStr
2015-05-16 08:43:29
3038
原创 系统调用、函数调用
1、系统调用操作系统的主要功能是为管理硬件资源和为应用程序开发人员提供良好的环境来使应用程序具有更好的兼容性,为了达到这个目的,内核提供一系列具备预定功能的多内核函数,通过一组称为系统调用(system call)的接口呈现给用户。系统调用把应用程序的请求传给内核,调用相应的的内核函数完成所需的处理,将处理结果返回给应用程序。现代的操作系统通常都具有多任务处理的功能,通常靠进程来实现。
2015-04-16 08:43:23
3698
转载 类的静态成员函数和静态成员变量的使用
C++类静态成员与类静态成员函数 当将类的某个数据成员声明为static时,该静态数据成员只能被定义一次,而且要被同类的所有对象共享。各个对象都拥有类中每一个普通数据成员的副本,但静态数据成员只有一个实例存在,与定义了多少类对象无关。静态方法就是与该类相关的,是类的一种行为,而不是与该类的实例对象相关。 静态数据成员的用途之一是统计有多少个对象实际存在。
2015-03-13 11:07:49
444
原创 二叉排序树及其C代码
1、二叉排序树的定义二叉排序树(Binary Sort Tree)又称二叉查找(搜索)树(Binary Search Tree)。其定义为:二叉排序树或者是空树,或者是满足如下性质的二叉树: (1)若它的左子树非空,则左子树上所有结点的值均小于根结点的值; (2)若它的右子树非空,则右子树上所有结点的值均大于根结点的值; (3)左、右子树本身又各是一棵二叉排序树。
2015-03-12 20:18:40
694
原创 最小生成树(MST)----普里姆(Prim)算法与克鲁斯卡尔(Kruskal)算法
1、概念:给定一个带权的无向连通图,如何选取一棵生成树,使树上所有边上权的总和为最小,这叫最小生成树.2、应用:例如:要在n个城市之间铺设光缆,主要目标是要使这 n 个城市的任意两个之间都可以通信,但铺设光缆的费用很高,且各个城市之间铺设光缆的费用不同,因此另一个目标是要使铺设光缆的总费用最低。这就需要找到带权的最小生成树。3、求最小生成树的算法3.1 普里姆(Prim)算
2015-03-10 10:49:33
2986
转载 C++成员变量的初始化
1、普通的变量:一般不考虑啥效率的情况下 可以在构造函数中进行赋值。考虑一下效率的可以再构造函数的初始化列表中进行。 class CA{public:CA();……public:int data;……};CA::CA():data(0)//……#1……初始化列表方式{//data = 0;//…
2014-12-05 09:32:23
1045
原创 栈和堆的区别
一般来说,写程序就是与数据打交道,在程序执行某一功能的时候,将该功能所需要的数据加载到内存中,然后在执行完毕之后释放掉该内存。数据在内存中的存放形式分为以下几种:* 栈区(stack)-------由编译器自动分配和释放,该区域一般存放函数的参数值,局部变量的值等;* 堆区(heap)-------一般由程序员分配,若程序员不释放,程序结束时可由操作系统回收;* 寄存器区-----
2014-12-03 14:16:32
583
原创 用循环链表解决约瑟夫问题
1、约瑟夫问题的 编号为1,2,....,N的N个人按顺时针方向围坐一圈,每人持有一个密码(正整数),一开始任选一个正整数作为报数上限值M,从指定的人K开始按顺时针方向自1开始顺序报数,报到M时停止报数。报M的人出列,将他的密码作为新的M值,从他在顺时针方向上的下一个人开始重新从1报数,如此下去,直至所有人全部出列为止。试设计一个程序求出出列顺序。 解决思路还是
2014-11-10 10:21:05
2504
原创 C程序常见错误30例
我们在学习C语言的过程中常常容易犯一些错误,下面就将一些错误列举出来,仅供参考:1、忘记定义变量。例如:void main(){ x=3; y=6; printf("%d\n",x+y);}C要求对程序中用到的每一个变量都必须定义其类型,而上面程序中没有对 x,y进行定义。应该在函数的开头加:int x,y;2、输入输出的数据类型与所用格式说明符不
2014-11-07 15:41:47
1352
1
原创 opencv中文手册
Cv图像处理注意:本章描述图像处理和分析的一些函数。大多数函数都是针对两维象素数组的,这里,我们称这些数组为“图像”,但是它们不一定非得是IplImage 结构,也可以是CvMat或者CvMatND结构。
2014-11-06 21:40:53
3352
原创 变量的作用域和存储方式
在讨论函数的形参变量时曾经提到, 形参变量只在被调用期间才分配内存单元,调用结束立即释放。 这一点表明形参变量只有在函数内才是有效的, 离开该函数就不能再使用了。这种变量有效性的范围称变量的作用域。不仅对于形参变量, C语言中所有的量都有自己的作用域。变量说明的方式不同,其作用域也不同。 C语言中的变量,按作用域范围可分为两种, 即局部变量和全局变量。
2014-10-26 20:08:43
724
原创 Static的作用
作用(精辟分析) 在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。 (1)先来介绍它的第一条也是最重要的一条:隐藏。 当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.c,另一个是m
2014-10-26 10:17:36
471
原创 CString与string的区别
CString MFC或者ATL实现stringC++标准库实现stringCString均字符串模板类string标准模板类(STL)定义字符串类已经纳入C++标准; CString(typedef CStringT> CString)Visual C++用字符串类继承自CSimpleStringT类主要应用MFCATL编程主要数据类型char(应用于ANSI)wchar_t(unico
2014-10-25 22:21:48
864
转载 时间复杂度O(n)是什么意思
同一问题可用不同算法解决,而一个算法的质量优劣将影响到算法乃至程序的效率。算法分析的目的在于选择合适算法和改进算法,一个算法的评价主要从时间复杂度和空间复杂度来考虑。
2014-10-21 20:43:38
1645
转载 C/C++资源(源码、开发工具、开发库)
开发工具:VIM 骨灰级玩家专属emacs 骨灰级玩家专属sublimetext 很好用的编辑器code::blocks 入门级推荐codelite 入门级首选eclipse+CDT 如果你经常用eclipse就直接装个cdt的插件吧netbeans 习惯netbeans的首选anjuta gtk首选KDeveloper 曾经的Linux下经典开发工具Xcode
2014-10-19 14:43:40
628
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人