- 博客(43)
- 资源 (2)
- 收藏
- 关注
转载 list_add_tail()
将new所代表的list_head插入head所索引的队列的尾部static inline void list_add_tail(struct list_head *new, struct list_head *head){ __list_add(new, head->prev, head);}将new所代表的list_head插入到next索引的双链
2013-03-24 11:19:43
1149
转载 list_del 分析2
bug提示无法请求0000000000200200地址所在的页,而问题出在list_del函数;分析list_del函数: 在内核中0xC0000000以下(内存为4G,高地址1G作为内核空间使用,低地址3G作为用户空间使用,此3G内核空间申请不到)的地址是不能申请到的,为了防止有的节点申请内存错误的时候也是NULL使用不可能被初始化的指针当作标记。而0x00200200 这
2013-03-21 23:10:50
932
转载 list_del 分析
Linux内核的双向链表是比较经典的东西,网上分析链表的同志基本分析了99%,就差了1%。那就是list_del函数。先给出函数原型:#ifdef CONFIG_ILLEGAL_POINTER_VALUE# define POISON_POINTER_DELTA _AC(CONFIG_ILLEGAL_POINTER_VALUE, UL)#else# define POISON_
2013-03-21 23:05:58
2298
转载 关于删除元素的不安全性
关于删除元素的不安全性为什么说调用list_del()删除元素有安全隐患?具体看源代码:static inline void __list_del(struct list_head * prev, struct list_head * next){next->prev = prev;prev->next = next;}static inline void li
2013-03-21 23:01:17
761
原创 关于Epipolar Geometry Toolbox(EGT)如何安装
一下是官方文档给出来的:Simply unzip the files contained in "EGT_v1p3.rar" (or .zip) in your HD, and then add this directoryto your Matlab path. (File->AddPAth->...)
2013-01-26 12:52:28
985
原创 Robotics Toolbox for matlab如何安装
最近学习matlab关于机器人方面的编程,需要用到Robotics Toolbox for matlab工具箱,但是没有安装,于是上网百度了安装方法,并结合自己matlab的版本写下自己的安装过程: 首先,我们要知道什么叫工具箱。其实,工具箱就是一系列处理某个事件的函数的集合,因此,我们想安装工具箱,就是想用其中的函数。因此,我们只要把工具箱加到matlab的工作路径就好了。
2013-01-26 12:47:38
3610
转载 RAND_MAX 宏
RAND_MAX是VC中stdlib.h中宏定义的一个字符常量: #define RAND_MAX 0x7FFF 其值最小为32767,最大为2147483647 通常在产生随机小数时可以使用RAND_MAX。 给出C++例子: //在VC6.0中运行通过 #include #include #include
2012-09-23 15:35:29
1104
转载 srand 函数
srand函数是随机数发生器的初始化函数。 原型:void srand(unsigned seed); 用法:它需要提供一个种子,这个种子会对应一个随机数,如果使用相同的种子后面的rand()函数会出现一样的随机数。如: srand(1); 直接使用1来初始化种子。不过为了防止随机数每次重复常常使用系统时间来初始化,即使用 time函数来获得系统时间,它的返回值为从 00:00
2012-09-23 15:32:43
1031
转载 C语言中time()函数
C语言中time()函数函数简介 函数名: time 头文件:time.h 函数原型:time_t time(time_t * timer) 功能: 获取当前的系统时间,返回的结果是一个time_t类型,其实就是一个大整数,其值表示从CUT(Coordinated Universal Time)时间1970年1月1日00:00:00(称为UNIX系统的Epo
2012-09-23 15:15:30
1370
转载 Linux学习篇之Ubuntu10.10嵌入式开发配置
Ubuntu10.10配置 不论安装一个什么样的系统,或多或少的都要进行一些配置,有些更是必不可少的,用以满足日后所需,让我们的机器跑的更high。想当初第一次装好ubuntu之后,立马来了一股豪情,打开vi编辑器,准备来一个经典的"hello world"程序,也在linux上过过瘾,没想到竟然成功的悲剧了,按方向键居然出来的是ABCD大写字母,删除键是向前移动光标,这下郁
2012-09-23 14:54:45
619
转载 Linux下的vim配置和插件管理
http://www.cnblogs.com/windowswind/archive/2012/03/22/2450079.html
2012-09-23 14:51:21
664
转载 嵌入式linux进程线程----Linux中的EAGAIN含义
在Linux环境下开发经常会碰到很多错误(设置errno),其中EAGAIN是其中比较常见的一个错误(比如用在非阻塞操作中)。 从字面上来看,是提示再试一次。这个错误经常出现在当应用程序进行一些非阻塞(non-blocking)操作(对文件或socket)的时候。例如,以 O_NONBLOCK的标志打开文件/socket/FIFO,如果你连续做read操作而没有数据可读。此时程序不会阻塞
2012-09-23 14:39:12
3575
转载 sem_init函数
#include int sem_init(sem_t *sem, int pshared, unsigned int value); sem_init() 初始化一个定位在 sem 的匿名信号量。value 参数指定信号量的初始值。 pshared 参数指明信号量是由进程内线程共享,还是由进程之间共享。如果 pshared 的值为 0,那么信号量将被进程内的线程共享,
2012-09-23 09:36:36
2781
转载 sem_init() 函数
sem_init目录头文件函数原型说明返回值错误展开 头文件函数原型说明返回值错误展开 编辑本段头文件 #include编辑本段函数原型 int sem_init(sem_t *sem, int pshared, unsigned int value);编辑本段说明 s
2012-09-23 09:33:49
2438
转载 波特率与比特率
在电子通信领域,波特率(Baud rate)即调制速率,指的是信号被调制以后在单位时间内的变化,即单位时间内载波参数变化的次数。它是对符号传输速率的一种度量,1波特即指每秒传输1个符号。 单位“波特”本身就已经是代表每秒的调制数,以“波特每秒”(Baud per second)为单位是一种常见的错误。目录波特率概念波特率分析举例波特率与比特率
2012-08-03 23:06:17
903
转载 ReadFile
函数原型 BOOL ReadFile( HANDLE hFile, //文件的句柄 LPVOID lpBuffer, //用于保存读入数据的一个缓冲区 DWORD nNumberOfBytesToRead, //要读入的字节数 LPDWORD lpNumberOfBytesRead, //指向实际读取字节数的指针 LPOVERLAPPED lpO
2012-06-24 16:07:05
653
转载 WriteFile 函数解析
BOOL WriteFile( HANDLE hFile, // 文件句柄 LPCVOID lpBuffer, // 数据缓存区指针 DWORD nNumberOfBytesToWrite, // 你要写的字节数 LPDWORD lpNumberOfBytesWritten, // 用于保存实际写入字节数的存储区域的指针 LPOVERLAPPED
2012-06-24 16:03:11
11454
转载 SetCommTimeouts
windows系统利用此函数设定通讯设备读写时的超时参数,SetCommTimeouts函数声明如下: BOOL SetCommTimeouts( HANDLE hFile, LPCOMMTIMEOUTS lpCommTimeouts ); SetCommTimeouts函数的第一个参数hFile是由CreateFile函数返回指向已打开串行口的句
2012-06-24 15:52:42
1650
转载 GetCommTimeouts函数解析
Windows系统利用此函数获取特定的通讯设备读写时的超时参数设定,GetCommTimeouts函数声明如下: BOOL GetCommTimeouts( HANDLE hFile, LPCOMMTIMEOUTS lpCommTimeouts ); GetCommTimeouts函数的第一个参数hFile是由CreateFile函数返回指向已打开
2012-06-24 15:49:10
1039
转载 COMMTIMEOUTS
在用ReadFile和WriteFile读写串行口时,需要考虑超时问题。如果在指定的时间内没有读出或写入指定数量的字符,那么ReadFile或WriteFile的操作就会结束。要查询当前的超时设置应调用GetCommTimeouts函数,该函数会填充一个COMMTIMEOUTS结构。调用SetCommTimeouts可以用某一个COMMTIMEOUTS结构的内容来设置超时。 有两种超时:间隔超时和
2012-06-24 15:39:52
614
转载 GetCommState 函数
GetCommState 读取串口设置(波特率,校验,停止位,数据位等). 函数声明: BOOL GetCommState( HANDLE hFile, LPDCB lpDCB ); GetCommState函数的第一个参数hFile是由CreateFile函数返回指向已打开串行口的句柄。第二个参数指向设备控制块DCB。如果函数调用成功,
2012-06-24 15:35:28
1319
转载 DCB结构
串口通讯中的DCB结构 DCB(Device Control Block)结构定义了串口通信设备的控制设置。 typedef struct _DCB {// dcb DWORD DCBlength; // sizeof(DCB) DWORD BaudRate; // current baud rate 指定当前的波特率 DWORD fBinary: 1; //
2012-06-24 15:33:42
5025
转载 CreateFile函数详解
CreateFile The CreateFile function creates or opens the following objects and returns a handle that can be used to accessthe object: files pipes mailslots communications resources disk
2012-06-24 15:26:36
574
转载 linux下的sourceinsight
1)CscopeUsing Cscope on large projects (example: the Linux kernel)Cscope can be a particularly useful tool if you need to wade into a large code base. You can save yourself a lot of time by being
2012-05-27 21:17:50
554
转载 定语从句和同位语重句的区别
众所周知,定语从句与同位语从句是中学英语语法的一个重要组成部分,都由连词that和副词when,where,why来引导,看似形式相同,实际上有着本质的区别。 首先.我们看定义,定语从句是在复合句中修饰名词或代词的从句,句法功能与形容词相同,是形容词性从句。而同位语从句是在复合句中,用以解释或说明某些特定名词的从句,句法功能与名词相同,故是名词性从句。 其次,我们分别来
2012-05-08 22:32:41
833
转载 考研数一辅导全书的选则---考研论坛转载
考研科目比较多,时间比较紧。任何复习都要付出成本的,因为时间就是你最大的成本。有人说做上万道题甚至更多,数学应该就能考好。这个问题也许是正 确的,即使题海战术也有它的特殊优势。但你要知道,考研考的不只是看你的数学成绩,你的复习还要包括其他几科,你追求的应该是综合的提高,也就是一个整体 观念,是一个协调过程。所以既然在有限的时间约束条件下求得复习的条件极值,就必须要找准你的方向,少走弯路,花的时间都
2012-05-07 21:59:42
882
转载 关于VS2005通过“添加变量”向导来添加控件变量时出现“控件变量”被禁用的处理办法!
当初刚接触MFC的时候,在使用VS2005的过程当中使用添加变量向导来添加控件变量时常会出现问题,在优快云上发了求助帖也没人帮得上忙。。后来就此作罢。最近心血来潮,分析了正常与非正常VS工程的所有文件,总算被我找到了问题所在了!!其实非常简单,造成这种情况的主要原因是*.vcproj文件(也就是工程文件)里的资源文件关联信息错误引起的。而出现这种情况多半是因为工程里有多个*.rc文件或者
2012-05-03 15:34:07
949
转载 SD_STM32_SPI驱动+FatFs文件系统
一.文件列表:MMCSDTimming.pdfSD3.0_20090721.pdf-------详细介绍了SD、SDIO,标准的官方文档SD_FAT文档.docMicrosoft_fat32.doc二、简易FAT32/*******************************************************
2012-04-30 13:34:54
2010
转载 编辑本段C语言函数realloc
函数简介 原型:extern void *realloc(void *mem_address, unsigned int newsize); 语法:指针名=(数据类型*)realloc(要改变内存大小的指针名,新的大小)。//新的大小一定要大于原来的大小不然的话会导致数据丢失! 头文件:#include stdlib.h> 有些编译器需要#include ,在TC
2012-04-27 23:50:06
659
转载 keil的51单片机仿真调试中如何查看内存的内容
在Memory窗口中输入地址值,得到的结果是程序代码区的内容。由于51采用的是哈佛结构,程序指令存储和数据存储分开。要查看各种内存区域的内容,只要在Address框内输入“字母:地址”即可显示相应的内存值。其中字母可以是C、D、I、X,分别代表的意义是: C:代码存储空间 D:直接寻址片内存储空间 I :间接寻址片内存储空间 X:扩展的外部RAM空间如输入“d:0x30
2012-04-26 14:52:49
7837
2
转载 Windows CE下通讯录数据库的开发详细代码
CEDataBase.h文件#pragma once//数据库类型的枚举值//可以对此枚举进行拓展,但是在响应使用的函数里都要进行拓展enum{PRO_STRING = 0x00000001, //字符串类型 TCHARPRO_TIME, //日期型 systimePRO_NUMBER //整型 int};/
2012-04-09 22:35:38
792
转载 Windows Mobile 5.0 SDK 下载地址收藏
Windows Mobile 5.0 开发包: (包括工具和学习资源): http://download.microsoft.com/download/6/0/8/608530c5-7e9a-4032-bf18-92d90b5f4ab4/WM Developer Resource Kit.msi单独下载: SDK for Pocket PC: http://download.m
2012-04-07 16:12:35
504
转载 linux 编译静态链接库和动态链接库
我们通常把一些公用函数制作成函数库,供其它程序使用。函数库分为静态库和动态库两种。静态库在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库。动态库在程序编译时并不会被连接到目标代码中,而是在程序运行是才被载入,因此在程序运行时还需要动态库存在。本文主要通过举例来说明在
2011-09-05 23:43:02
583
原创 windows xp 下QT集成开发环境
准备的软件: qt-creator-win-opensource-2.2.1.exe (主要包含mingw).qt-win-opensource-4.7.3-mingw.exe(QT编译软件,qmake和Qt库).首先安装qt-creator-win-open
2011-08-17 22:00:58
1439
原创 查看Linux下宏定义的快速方法
我是在ubunt 10.10 下用的.步骤:1.sudo apt-get install ctags2.cd /usr/include/3.ctags -R4.vi -t +要查找的宏名
2011-08-15 21:02:25
2531
转载 线程学习
1. 线程的概念我们知道,进程在各自独立的地址空间中运行,进程之间共享数据需要用mmap或者进程间通信机制,本节我们学习如何在一个进程的地址空间中执行多个线程。有些情况需要在一个进程中同时执行多个控制流程,这时候线程就派上了用场,比如实现一个图形界面的下载软件,一方面需要和用
2011-08-05 21:41:20
599
转载 C 语言创建线程池
什么时候需要创建线程池呢?简单的说,如果一个应用需要频繁的创建和销毁线程,而任务执行的时间又非常短,这样线程创建和销毁的带来的开销就不容忽视,这时也是线程池该出场的机会了。如果线程创建和销毁时间相比任务执行时间可以忽略不计,则没有必要使用线程池了。 下面是Linux系
2011-08-05 21:38:37
582
转载 write()函数简介
write函数(写入文件)它的主要功能是:将某个文件缓冲区的数据,写入某个文件内。系统调用格式:number = write(handle, buffer, n) ;write函数各个参数定义如下:l handle: 这是一个已经打开的文件句柄,表示将数据写入这
2011-07-26 00:17:39
6687
转载 read()函数简介
read函数从打开的设备或文件中读取数据。#include ssize_t read(int fd, void *buf, size_t count); 返回值:成功返回读取的字节数,出错返回-1并设置errno,如果在调read之前已到达文件末尾,则这次read返回0
2011-07-26 00:10:22
44199
转载 C语言中open函数
作用:打开和创建文件。 简述: #include int open(const char *pathname, int oflag, ... /* mode_t mode */); 返回值:成功则返回文件描述符,否则返回 -1 对于 open 函数来说,第三
2011-07-26 00:04:36
50369
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人