- 博客(88)
- 资源 (6)
- 收藏
- 关注
转载 关于低分辨率机器使用source insight的时候,注释斜体看不清的解决方法
Options -> Preferences ->Syntax Formatting 取消Special comment styles
2013-03-13 17:13:31
4837
1
转载 ARM编程:关于ARM寄存器的宏定义
ARM编程:关于ARM寄存器的宏定义[gf86530430] [136次] 2008-8-27请问各位大虾:在ARM的头文件里,对与寄存器的定义为什么不跟51的一样?代码如下:#define rUTXH0 (*(volatile unsigned char *)0x1d00020)#define rUTXH1 (*(volatile unsigned char *)0x1d04
2013-01-11 09:10:12
1110
转载 获取Linux系统命令的源代码
转载自:http://blog.csdn.net/langeldep/article/details/7180731当你需要在自己的程序中实现的功能与命令的功能类似的时候,我们可以获取命令的源代码来进行参考,下面的命令只针对 RedHat Linux系统,其他的系统可能有其他的命令可以使用, 比如Debian系统就可以直接使用dpkg,dpkg是Debian Package 的缩写,是
2012-12-05 09:41:21
628
转载 get_opt()函数简介
/*************************************************************************************************函数getopt()用来分析命令行参数,其函数原型和相关变量声明如下:extern char *optarg;extern int optind, // 初始化值为1,下一次调用getopt时,
2012-12-04 10:23:59
2918
转载 Linux下的段错误产生的原因及调试方法
简而言之,产生段错误就是访问了错误的内存段,一般是你没有权限,或者根本就不存在对应的物理内存,尤其常见的是访问0地址.一般来说,段错误就是指访问的内存超出了系统所给这个程序的内存空间,通常这个值是由gdtr来保存的,他是一个48位的寄存器,其中的32位是保存由它指向的gdt表,后13位保存相应于gdt的下标,最后3位包括了程序是否在内存中以及程序的在cpu中的运行级别,指向的gdt是由以6
2012-11-20 17:10:18
495
转载 C/C++中extern关键字详解
1 基本解释:extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。此外extern也可用来进行链接指定。 也就是说extern有两个作用,第一个,当它与"C"一起连用时,如: extern "C" void fun(int a, int b);则告诉编译器在编译fun这个函数名时按着C的规则去翻译相应的函数名而
2012-11-20 11:33:11
521
转载 gawk
GAWK 手册作者:Wilbur Lang第一章 前言第二章 简介 第三章 读取输入档案 第四章 印出 第五章 Patterns 第六章 算式(Expression)作为Actions的叙述第七章 Actions里面的控制叙述 第八章 内建函式(Built-in Functions)第九章 使用者定义的函式 第十章 □例 第十一章 结
2012-11-19 17:56:36
765
转载 GetMemory()
代码1:void GetMemory(char *p){ p = (char*)malloc(100);}int main(int argc, char *argv[]){ char *str = NULL; GetMemory(str); strcpy(str, "Hello"); return 0;}str没有得到分配内存的地址值。内存空间
2012-11-12 16:48:24
707
转载 堆排序
堆排序 堆排序是利用堆的性质进行的一种选择排序。下面先讨论一下堆。1.堆 堆实际上是一棵完全二叉树,其任何一非叶节点满足性质: Key[i]=Key[2i+1]&&key>=key[2i+2] 即任何一非叶节点的关键字不大于或者不小于其左右孩子节点的关键字。 堆分为大顶堆和小顶堆,满足Key[i]>=Key[2i+1]&&key>=key[2i+2]称为
2012-11-09 17:12:23
505
转载 float数据在内存中的存储方法
浮点型变量在计算机内存中占用4字节(Byte),即32-bit。遵循IEEE-754格式标准。一个浮点数由2部分组成:底数m 和 指数e。 ±mantissa × 2exponent(注意,公式中的mantissa 和 exponent使用二进制表示)底数部分 使用2进制数来表示此浮点数的实际值。指数部分 占用8-bit的二进制
2012-11-05 13:04:17
784
转载 负数在计算机中的表示
负数在计算机中如何表示?举例来说,+8在计算机中表示为二进制的1000,那么-8怎么表示呢?很容易想到,可以将一个二进制位(bit)专门规定为符号位,它等于0时就表示正数,等于1时就表示负数。比如,在8位机中,规定每个字节的最高位为符号位。那么,+8就是00001000,而-8则是10001000。但是,随便找一本《计算机原理》,都会告诉你,实际上,计算机内部采用2的补码(Two'
2012-11-02 17:30:36
1964
原创 简单的大数相加的实现
#include#include#define Max 101void print(char sum[], int result_len);int bigNumAdd(char a[],char b[],char sum[]);int main(){ char a[Max]; char b[Max]; char sum[Max]; puts("input
2012-10-29 11:38:57
1378
2
转载 VI 基本可视模式
可视模式让你可以选择文件的一部分内容,以便作比如删除,复制等工作。进入可视模式v用v命令进入可视模式。当光标移动时,就能看到有一些文本被高亮显示了,它们就是被选中的内容。三种可视模式v一个字符一个字符地选。从按下v的那个字符起,一直到光标所移动到的位置之间的内容都被选中。V一行一行地选。从按下V的那行起,一直到光标所移动到的行之间的所有行都被选中。Ctrl-v
2012-09-12 12:30:47
1391
转载 __attribute__((packed))
#include #define ATTRIBUTE#ifdef ATTRIBUTE#define ATTR __attribute__ /*((aligned(8)))*/((packed))#else#define ATTR#endiftypedef struct ATTR _size{ char name[7]; int b;}size;i
2012-08-31 14:46:45
3643
转载 有explicit属性的构造函数
按照默认规定,只有一个参数的构造函数也定义了一个隐式转换,将该构造函数对应数据类型的数据转换为该类对象,如下面所示:class String {String ( const char* p ); // 用C风格的字符串p作为初始化值//…}String s1 = “hello”; //OK 隐式转换,等价于String s1 = String(“hello”); 但是有
2012-08-21 10:17:58
605
原创 new delete重载
/* 示例代码*/#include #include using namespace std;#define str "hello world!"class Buffer{public: int bufwrite(char* content, size_t size); int bufread(size_t size);
2012-08-20 17:37:46
2332
转载 一般函数指针和类的成员函数指针 (this指针)
转载出处:http://www.cnblogs.com/xianyunhe/archive/2011/11/26/2264709.html函数指针是通过指向函数的指针间接调用函数。函数指针可以实现对参数类型、参数顺序、返回值都相同的函数进行封装,是多态的一种实现方式。由于类的非静态成员函数中有一个隐形的this指针,因此,类的成员函数的指针和一般函数的指针的表现形式不一样。1、指向一般函数
2012-08-16 16:31:42
1638
转载 手把手教你把Vim改装成一个IDE编程环境(图文)
手把手教你把Vim改装成一个IDE编程环境(图文)By:吴垠Date:2007-09-07Version:0.5Email:lazy.fox.wu#gmail.comHomepage:http://blog.csdn.net/wooinCopyright:该文章版权由吴垠和他可爱的老婆小包子所有
2012-08-15 15:10:29
904
原创 终端工具secureCRT中文显示 和 使用linux终端的配色
中文显示乱码解决方法如下:1、 vi ~/.i18n写入以下内容:LANG="zh_CN.GB2312"SUPPORTED="zh_CN.GB2312:zh_CN:zh:zh_CN:zh:zh_TW.UTF-8:zh_TW:zh:en_US.UTF-8:en_US:en"SYSFONT="latarcyrheb-sun16"2、source ~/i18n
2012-08-09 15:31:10
3629
原创 ##、#、do{}while(0)宏方面的知识
示例程序及输出结果 :背景知识讲解:一、#在C语言的宏中,#的功能是将其后面的宏参数进行字符串化操作(Stringfication),简单说就是在对它所引用的宏变量通过替换后在其左右各加上一个双引号。有一点应该注意的是 ,使用如示例程序中的#EXP时,不能像printf("%s", #EXP);来使用,会提示错误!二、## ##被称为连接
2012-07-30 16:01:07
934
转载 linux下hexdump和od命令:显示文件十六进制格式
Linux指令:od示例用法:od -c helloLinux指令:odod命令用户通常使用od命令查看特殊格式的文件内容。通过指定该命令的不同选项可以以十进制、八进制、十六进制和ASCII码来显示文件。语法:od [选项] 文件…命令中各选项的含义:- A 指定地址基数,包括:d 十进制o 八进制(系统默认值)x 十六进制n 不打印位移值- t 指
2012-07-24 10:17:52
14877
1
原创 应用程序中对/dev/mem和/dev/kmem设备文件的访问
Linux下/dev/mem和/dev/kmem的区别:/dev/mem: 物理内存的全镜像。可以用来访问物理内存。/dev/kmem: kernel看到的虚拟内存的全镜像。可以用来访问kernel的内容。作用: /dev/mem用来访问物理IO设备,比如X用来访问显卡的物理内存,或嵌入式中访问GPIO。用法一般就是open,然后mmap,接着可以使用map之后的地址来访问物理内存
2012-07-17 18:16:21
6515
原创 Makefile一些知识
Makefile规则有下列通用形式: target:dependency [ dependency[...] ] command command [ ... ]target是要创建的二进制文件或者目标文件。dependency 是在创建target时需要输入的一
2012-07-17 17:58:35
761
转载 fstat函数
stat系统调用系列包括了fstat、stat和lstat,它们都是用来返回“相关文件状态信息”的,三者的不同之处在于设定源文件的方式不同。1首先隆重介绍的是一个非常重要的”VIP”人物,他是fstat, stat和lstat三者都要用到的一个结构体类型,名字叫做struct stat。可以说,没有这个struct stat的支持,上述三个系统调用将寸步难行。这个struct st
2012-07-12 16:23:31
22735
转载 mmap详解
转载自:http://hi.baidu.com/%D4%BC%D0%DE%D1%C7ing/blog/item/ee1664d899820ae138012f11.html mmap功能描述: mmap将一个文件或者其它对象映射进内存。文件被映射到多个页上,如果文件的大小不是所有页的大小之和,最后一个页不被使用的空间将会清零。munmap执行相反的操作,删除特定地址区域的对象映射。
2012-07-12 16:21:22
1149
转载 内核符号表
【内核符号表,kernel symbol table】Linux的内核是个单内核monolithic,任一函数都可以访问公共数据结构和函数调用。在设计程序时,需要命名一些函数名、变量名等;同样内核中就含有很多的全局符号。内核不是人脑皮层,要使用变量和函数-地址(指针)-来访问对应的变量和函数。内核符号表就是为程序员通过符号来访问程序体的对应地址(指针),建立了一个动态的,可变更的映
2012-07-11 18:03:44
4824
原创 编译模块出现WARNING: "xxxx" [xxxx.ko] undefined!的警告
应该是正在编译的模块a对另外的模块b有依赖关系 (意思是b内有EXPORT_SYMBOL(xx_fun),而xx_fun正是a模块中调用了的),首先将b加载上去,然后在加载a,就不用在意这些WARNING了,还有就是记得Makefile中所指的源码路径的内核重新编译,生成的uImage也要更新,这样才能保证符号表相符。如果不是这个问题,就用EXPORT_SYMBOL_GPL()或者EXPORT
2012-07-11 18:02:22
10456
转载 busybox tftp命令的使用
Busybox下的tftp命令可以用来进行单文件传输。使用的时候,是把电脑作为服务器Server,Busybox作为客户端Client,使用tftp命令可以实现从Server下载单个文件到Client,或者从Client上***个文件到Server。 首先来了解一下tftp命令参数,在Busybox下输入tftp –help,得到tftp使用的详细参数,如下图
2012-07-09 20:49:08
5063
转载 powerpc DTB文件
U-boot在启动的时候会将Flash中DTB文件的地址作为入口参数传递给内核。DTB是使用DTS编译后生成的一个文件。DTS(Device-tree Source)是按照Open Firmware标准定义的用以描述硬件设备的源文件,这是PowerPC所特有的。DTS的移植是嵌入式平台搭建是很重要的一步。移植的时候我们主要依赖两个文件:1)内核目录/arch/powerpc/boot/
2012-07-06 10:30:08
4288
转载 makefile中常见的错误—missing separator. Stop.—原因命令行缺少tab键
1、missing separator. Stop. 出现问题的原因是:在makefile中,命令行要以tab键开头,在windows下和linux下,可能由于编辑器不同,我们设置的tab不同。这样就容易引发上面的问题。 所以,解决办法是在命令行开头加tab。
2012-07-02 18:04:18
35587
1
转载 首先介绍一下diff和patch。在这里不会把man在线文档上所有的选
一、diff结果及patch文件的详解cat before.txt 输出: This is a line to be deleted This is a line that will be changed This is a line that will be unchanged cat after.txt 输出: Th
2012-06-29 15:44:32
713
转载 关于ioctl的几个链接
http://blog.sina.com.cn/s/blog_693301190100vyhh.htmlhttp://3954552.blog.51cto.com/blog/3944552/717732http://blog.chinaunix.net/link.php?url=http://lwn.net/Articles/119652/
2012-04-01 22:55:15
431
转载 crash使用的几个链接
http://hi.baidu.com/doughtymild/blog/item/22e28fea42cb7addd539c90f.htmlhttp://hi.baidu.com/widebright/blog/item/ff55dfc446a9f6da39db49db.html#0http://people.redhat.com/anderson/crash_whitepaper/he
2012-03-30 17:23:02
34373
3
原创 warning: function declaration isn’t a prototype(函数声明不是原型)的解决办法
linux驱动中定义一个无参的函数int probe_num(){ ....}警告:函数声明不是一个原型 [-Wstrict-prototypes]应对方法:改成int probe_num(void){ ....}警告消失
2012-03-30 11:00:34
36599
3
转载 Linux更新内核步骤
# cd linux-2.6.18 (进入到/usr/src/linux-2.6.18目录下) # make mrproper (该命令可确保源代码目录下没有不正确的.o文件) # make menuconfig (配置内核各选项) 在/usr/src/linux-2.6.18目录下,执行以下命令即可编译。编译需要一段时间,给自己倒杯茶耐心等候吧! # make d
2012-03-30 08:45:01
959
转载 linux升级内核,出现:mount:could not find filesystem‘/dev/root’的解决方法
A:是由于无法加载磁盘硬件的模块驱动。解决方式主要是通过make menuconfig中加载sata sici的devices设备模块驱动。常用的驱动模块如下:insmod /lib/uhci-hcd.ko insmod /libohci-hcd.ko insmod /lib/ehci-hcd.ko insmod /lib/jbd.koinsmod /lib/ext3.koin
2012-03-29 10:34:36
1675
转载 du命令解决linux磁盘空间满的问题(很不错的哦)
原文链接:http://www.pkphp.com/2010/02/03/linux-disk-full/首先你要确定是不是真正的是因为数据空间占满磁盘,经常是因为某个程序的日志占满了空间。当发现磁盘满了以后不要着急,使用以下命令从根目录开始排除查找哪个文件夹最大:du --max-depth=1找到最大的目录后,进入目录再执行上面的命令,逐步就找到大空间的文件夹了,如果是日志文件
2012-03-28 18:09:14
16997
转载 Linux下静态库与动态库(.a、.so)
首先讲一下error while loading shared libraries错误的解決方法./tests: error while loading shared libraries: xxx.so.0:cannot open shared object file: No such file or directory那就表示系統不知道xxx.so 放在哪個目錄下。這個時候就要在
2012-03-28 15:22:45
9969
Linux Device Model.ppt
2019-10-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅