上一页 1 ··· 6 7 8 9 10 11 12 13 下一页
  2011年12月7日
摘要: 利用网上下载的这段代码,成功实现了守护进程,原来守护进程是很简单的事情。 在main函数中执行 1 init_daemon();//初始化为Daemon 2 3 就可以把进程变成守护进程 4 #include 5 #include 6 #include 7 #include 8 #include 9 10 void init_daemon(void)11 {12 int pid;13 int i;14 15 if(pid=fork())16 exit(0);//是父进程,结束父进程17 else if(pid< 0)18 exit(1);//fork失败,退出19 //是第一子进程... 阅读全文
posted @ 2011-12-07 00:11 风行雪舞 阅读(435) 评论(0) 推荐(0) 编辑
摘要: 1、链接存储方法 链接方式存储的线性表简称为链表(Linked List)。 链表的具体存储表示为: ① 用一组任意的存储单元来存放线性表的结点(这组存储单元既可以是连续的,也可以是不连续的) ② 链表中结点的逻辑次序和物理次序不一定相同。为了能正确表示结点间的逻辑关系,在存储每个结点值的同时,还必须存储指示其后继结点的地址(或位置)信息(称为指针(pointer)或链(link))注意: 链式存储是最常用的存储方式之一,它不仅可用来表示线性表,而且可用来表示各种非线性的数据结构。 2、链表的结点结构 ┌──┬──┐ │data│ne... 阅读全文
posted @ 2011-12-07 00:09 风行雪舞 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 1、建立单链表 假设线性表中结点的数据类型是字符,我们逐个输入这些字符型的结点,并以换行符'\n'为输入条件结束标志符。动态地建立单链表的常用方法有如下两种:(1) 头插法建表① 算法思路 从一个空表开始,重复读入数据,生成新结点,将读入数据存放在新结点的数据域中,然后将新结点插入到当前链表的表头上,直到读入结束标志为止。 具体方法【参见动画演示】注意: 该方法生成的链表的结点次序与输入顺序相反。② 具体算法实现 1 LinkList CreatListF(void) 2 {//返回单链表的头指针 3 ... 阅读全文
posted @ 2011-12-07 00:08 风行雪舞 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 循环链表是一种首尾相接的链表。 1、循环链表(1)单循环链表——在单链表中,将终端结点的指针域NULL改为指向表头结点或开始结点即可。 (2)多重链的循环链表——将表中结点链在多个环上。 2、带头结点的单循环链表 注意: 判断空链表的条件是head==head->next; 3、仅设尾指针的单循环链表 用尾指针rear表示的单循环链表对开始结点a1和终端结点an查找时间都是O(1)。而表的操作常常是在表的首尾位置上进行,因此,实用中多采用尾指针表示单循环链表。带尾指针的单循环链表可见下图。 注意: 判断空链表... 阅读全文
posted @ 2011-12-07 00:07 风行雪舞 阅读(789) 评论(0) 推荐(0) 编辑
  2011年12月6日
摘要: 1,这两个概念都是简称,指针函数是指带指针的函数,即本质是一个函数。我们知道函数都又返回类型(如果不返回值,则为无值型),只不过指针函数返回类型是某一类型的指针。其定义格式如下所示: 返回类型标识符 *返回名称(形式参数表) { 函数体 } 返 回类型可以是任何基本类型和复合类型。返回指针的函数的用途十分广泛。事实上,每一个函数,即使它不带有返回某种类型的指针,它本身都有一个入口地址,该 地址相当于一个指针。比如函数返回一个整型值,实际上也相当于返回一个指针变量的值,不过这时的变量是函数本身而已,而整个函数相当于一个“变量”。例如 下面一个返回指针函数的例子: 1 #include 2 ... 阅读全文
posted @ 2011-12-06 23:59 风行雪舞 阅读(460) 评论(0) 推荐(0) 编辑
摘要: 大凡刚刚接触C语言的人,最头疼的就是指针和链表了,别的变量里存放的都是“正而八经”的值,这指针呢,偏偏存的就是一地址,用起来还有声明和定义之别, 声明是有“*”号的,赋其地址值,定义时是无“*”号方可赋地址值。由于可以直接给其赋内存地址,初学者稍有不慎,这指针便如群魔乱舞,使编译者错误迭 出。这时初学者不禁扼腕兴叹,要是没有指针多好!指针有什么用?然而指针被喻为C语言的精华,自有其必然之处,例如:1 void fun(int a)2 {3 a=20;4 }5 void main()6 {7 int a = 10;8 fun(a)9 }想让a变成20,若把a作为实参直接传进去经... 阅读全文
posted @ 2011-12-06 23:58 风行雪舞 阅读(364) 评论(0) 推荐(0) 编辑
摘要: 一. yum是什么yum = Yellow dog Updater, Modified 主要功能是更方便的添加/删除/更新RPM包. 它能自动解决包的倚赖性问题. 它能便于管理大量系统的更新问题 二. yum特点 *可以同时配置多个资源库(Repository) *简洁的配置文件(/etc/yum.conf *自动解决增加或删除rpm包时遇到的倚赖性问题 *使用方便 *保持与RPM数据库的一致性 三. yum安装 CentOS自带(yum-*.noarch.rpm) #rpm -ivh yum-*.noarch.rpm 四. yum指令 注:当第一次使用yum或yum资源库有更新时,yum会自 阅读全文
posted @ 2011-12-06 23:57 风行雪舞 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 1、删除已经缓存的yum站点信息 # sudo yum clean all 2、安装fastestmirror,让yum自动找最快的源进行下载 # sudo yum -y install yum-fastestmirror 3、在修改/etc/yum.repos.d/*.repo文件, 每个文件的mirror×××××那行(一般是第5行)的最后面加上“&country=us”,即选择美国的服务器,因为美国的服务器最多,同 时速度基本上是最快的(可选,因为,我没有对比过) 经过这样的设置,我的yum速度从平均 6k/s - 20k/s 提 阅读全文
posted @ 2011-12-06 23:56 风行雪舞 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 由于Fedora更新升级非常的频繁, 所以, 非常有必要清除陈旧的内核,方法如下:1. 查看当前系统中已安装的内核相关包:[root@knityster ~]# rpm -qa | grep kernelkernel-headers-2.6.32.12-115.fc12.i686kernel-firmware-2.6.32.12-115.fc12.noarchkernel-PAE-devel-2.6.32.11-99.fc12.i686kernel-devel-2.6.32.12-115.fc12.i686kernel-PAE-2.6.32.11-99.fc12.i686kernel-PAE- 阅读全文
posted @ 2011-12-06 23:55 风行雪舞 阅读(451) 评论(0) 推荐(0) 编辑
摘要: 有时候,我们必须不希望某些软件自动更新到最新版本。那么,如何防止yum自动更新apache,php,mysql等? 方法: vi /etc/yum.conf 在[main]增加如下一行: exclude=bind-chroot apache* pure-ftpd* mod_ssl* spamassassin* httpd* ruby* proftpd* courier* php* mysql* exim* ctohome.com* nsd* dovecot* squirr elmail* 看到了吧,exclude里面的所有软件,都不会被yum成最新版了。 比如,yum insta... 阅读全文
posted @ 2011-12-06 23:55 风行雪舞 阅读(283) 评论(0) 推荐(0) 编辑
摘要: 关闭Linux响铃1. 关闭shell中的响铃 整体关闭 vi /etc/inputrc 添加 set bell-style=none set bell-style none set bell-style off 关闭个人用户 vi ~/.inputrc 添加 set bell-style=none2. 关闭vi和vim中的响铃 vi /etc/vimrc vi /etc/virc 打开上面这两个文件后添加 set vb t_vb=在X Window系统下,可以使用xset 命令为之,命令如下: xset b off (输入xset 回车后得到xset命令的选项)在linux中控... 阅读全文
posted @ 2011-12-06 23:54 风行雪舞 阅读(387) 评论(0) 推荐(0) 编辑
摘要: 在windows 下几乎所有的应用软件都提供了安装程序,如setup.exe、install.exe,大家只要双击然后一路“下一步”就行了,但是在linux 下很少有软件是通过这种方式安装的,因为linux 下的应用软件多是源码包方式,需要用户手工编译安装,在本章向大家讲解如何在linux 安装软件,另外在fedora 中大家也会发现提供了一个“添加/删除软件”的功能,但是只能联网使用。1_ ?*x T ~ E b-VT3} } L D Y I/W P W 1 具有安装程序软件的安装 前面说了,linux 软件很少有像windows 软件那样双击exe然后一路“下一步”,但并不是没有,如优.. 阅读全文
posted @ 2011-12-06 23:54 风行雪舞 阅读(634) 评论(0) 推荐(0) 编辑
摘要: 月光博客6月12日发表了《写给新手程序员的一封信》,翻译自《An open letter to those who want to start programming》,我的朋友(他在本站的id是Mailper)告诉我,他希望在酷壳上看到一篇更具操作性的文章。因为他也是喜欢编程和技术的家伙,于是,我让他把他的一些学习Python和Web编程的一些点滴总结一下。于是他给我发来了一些他的心得和经历,我在把他的心得做了不多的增改,并根据我的经历增加了“进阶”一节。这是一篇由新手和我这个老家伙根据我们的经历完成的文章。我的这个朋友把这篇文章取名叫Build Your ProgrammingTechni 阅读全文
posted @ 2011-12-06 23:53 风行雪舞 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 用虚拟机玩游戏的方法!! 开3D加速!用虚拟机玩游戏的方法!! 开3D加速! 曾经用过一些不同虚拟机结果大多都不支持3D驱动,所以导致虚拟机是不能够玩游戏的! 今天给大家带来的是用虚拟机玩游戏的方法!! 虚拟机软件:VMWare虚拟机,版本最好是在5.5以上 硬件要求, CPU2.4以上,内存在512以上,512的朋友可以试试 比这个低配置的朋友就不要浪费时间了! 最好显卡是128以上的,本人的是256的显卡 虚拟机安装的系统可以是2000和XP,98好像开3D有问题,就酸把Direct X9.0装上也好像不行 所以建议用2000或XP 然后找到你虚拟机的扩展名为 .vmx的文件 (什么,找不 阅读全文
posted @ 2011-12-06 23:52 风行雪舞 阅读(4415) 评论(0) 推荐(0) 编辑
摘要: 今天自己在开发板上移植了boa服务器。参考资料是李驹光、郑耿大侠在恒颐论坛上的帖子。李大侠写的好,我没有费什么力气就搞定了,:-)。步骤如下:1.从http://www.boa.org/下载Boa源码,将其解压并进入源码目录的src子目录# tar -zxvf boa-0.94.13.tar.gz# cd boa-0.94.13/src2.生成Makefile文件# ./configure修改Makefile文件,a.找到CC=gcc,将其改成CC = arm-linux-gcc,b.找到CPP = gcc –E,将其改成CPP = arm-linux-gcc –E,保存退出。3.运行make 阅读全文
posted @ 2011-12-06 23:51 风行雪舞 阅读(706) 评论(0) 推荐(0) 编辑
摘要: 编译一个linux下的c系统,包含词法和语法分析模块,Linux上用bison和flex。 yacc是一个文法分析器的生成器,bison即是yacc的GNU版本.Lex和YACC是用于构造词法分析机和语法解释器的工具,利用Lex和YACC你可以轻松的构造一个语法解释器。 一开始make 错误1: debian:/home/a/boa-0.94.13/src# make yacc -d boa_grammar.y make: yacc: Command not found make: *** [y.tab.c] Error 127 解决方法: debian:/... 阅读全文
posted @ 2011-12-06 23:50 风行雪舞 阅读(249) 评论(0) 推荐(0) 编辑
摘要: strstr函数2008年08月02日 星期六 10:30函数名: stpcpy 功 能: 拷贝一个字符串到另一个 用 法: char *stpcpy(char *destin, char *source); 程序例:#include <stdio.h> #include <string.h>int main(void) { char string[10]; char *str1 = "abcdefghi 阅读全文
posted @ 2011-12-06 23:49 风行雪舞 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 要修改arm开发板的IP,如果是yaffs2文件,可以1、首先要修改/etc/init.d/rcS文件,在/sbin/ifconfig lo 127.0.0.0下添加一行/sbin/ifconfig eth0 192.168.1.20 up注:192.168.1.20 只是举例,可以改成你想要修改的IP地址本来这样修改之后就可以的,但是我发现仍然不行,使用ifconfig命令,发现开发板IP地址没有被更改过来。后来无心插柳,发现还需要修改另一处2、修改/etc/eth0-setting将其IP地址改成你想要设置的IP重启开发板,使用ifconfig命令,就发现IP地址已经修改过来了。 阅读全文
posted @ 2011-12-06 23:31 风行雪舞 阅读(1799) 评论(0) 推荐(0) 编辑
摘要: 目前正在研究SmartArm3250的Linux驱动方面,所以首先就要在开发板上安装(也可以称为下载)Linux系统,按照书上的步骤,遇到一些小问题,通过多次试验和总结,现在可以熟练的安装Linux系统了,总结一下,其中包含个人的见解和自己找到的资料。首先,介绍一下安装Linux的大致步骤。开发板就像一个裸机一样,什么都没有(当然有硬件),首先要安装一个类似于电脑中BIOS一样的东西,还 有一个引导操作系统的东西,然后就是装入内核镜像,不是.iso文件哦,是编译内核生成的一个东东,最后就是一个文件系统,类似于电脑中的各个分区,也可 以理解成光是C盘的各种东西,而与电脑中安装系统的不同之处在于, 阅读全文
posted @ 2011-12-06 23:30 风行雪舞 阅读(422) 评论(0) 推荐(0) 编辑
摘要: 用C语言编写cgi程序的话,多半会用到CGIC。 这是个非常流行的库,遇到文件上传之类的应用更是离不开它。官方页面及下载地址为:www.boutell.com/cgic/#obtain不少网站都有文件上传的功能,本文展示如何用CGIC库编写文件上传的服务端程序,最后给出一段简单的HTML代码,供大家测试使用 。下载: upload.c#include<stdio.h>#include<string.h>#include<unistd.h>#include<fcntl.h>#include<sys/stat.h>#include&quo 阅读全文
posted @ 2011-12-06 23:29 风行雪舞 阅读(2692) 评论(0) 推荐(0) 编辑
摘要: 1功能说明strace命令是一种强大的工具,能够显示任何由用户空间程式发出的系统调用.strace显示这些调用的参数并返回符号形式的值.strace从内核接收信息,而且无需以任何特别的方式来构建内核.strace的每一行输出包括系统调用名称,然后是参数和返回值.下面记录几个常用option:-f-F选项告诉strace同时跟踪fork和vfork出来的进程-oxxx.txt输出到某个文档.-eexecve只记录execve这类系统调用. 2详细用法usage:strace[-dffhiqrtttTvVxx][-acolumn][-eexpr]...[-ofile][-ppid]...[-sst 阅读全文
posted @ 2011-12-06 23:27 风行雪舞 阅读(355) 评论(0) 推荐(0) 编辑
摘要: 如何获取Linux内核源代码如何获取Linux内核源代码下载Linux内核当然要去官方网站了,网站提供了两种文件下载,一种是完整的Linux内核,另一种是内核增量补丁,它们都是tar归档压缩包。除非你有特别的原因需要使用旧版本的Linux内核,否则你应该总是升级到最新版本。使用Git由Linus领头的内核开发队伍从几年前就开始使用Git版本控制系统管理Linux内核了(参考阅读:什么是Git?),而Git项目本身也是由Linus创建的,它和传统的CVS不一样,Git是分布式的,因此它的用法和工作流程很多开发人员可能会感到很陌生,但我强烈建议使用Git下载和管理Linux内核源代码。你可以使用下 阅读全文
posted @ 2011-12-06 23:27 风行雪舞 阅读(4887) 评论(0) 推荐(0) 编辑
摘要: 1、execve系统调用用来执行参数filename字符串所代表的文件路径int execve(const char * filename,char * const argv[ ],char * const envp[ ]);2、brk & sbrk 系统调用库过程brk和sbrk用来调整数据段的上限3、access系统调用检查调用进程是否可以对指定的文件执行某种操作4、mmap系统调用void *mmap(void *addr, size_t len, int prot, int flags, int fd, off_t offset); 参数fd为即将映射到进程空间的文件描述字,一 阅读全文
posted @ 2011-12-06 23:26 风行雪舞 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 什么是Oops?从语言学的角度说,Oops应该是一个拟声词。当出了点小事故,或者做了比较尴尬的事之后,你可以说"Oops",翻译成中国话就叫做“哎呦”。“哎呦,对不起,对不起,我真不是故意打碎您的杯子的”。看,Oops就是这个意思。在Linux内核开发中的Oops是什么呢?其实,它和上面的解释也没什么本质的差别,只不过说话的主角变成了Linux。当某些比较致命的问题出现时,我们的Linux内核也会抱歉的对我们说:“哎呦(Oops),对不起,我把事情搞砸了”。Linux内核在发生kernel panic时会打印出Oops信息,把目前的寄存器状态、堆栈内容、以及完整的Call 阅读全文
posted @ 2011-12-06 23:26 风行雪舞 阅读(588) 评论(0) 推荐(0) 编辑
摘要: 你想成知道如何成为一个Linux内核开发者么?或者你的老板告诉你,“去为这个设备写一个Linux驱动。“这篇文档的目的,就是通过描述你需要 经历的过程和提示你如何和社区一起工作,来教给你为达到这些目的所需要知道的所有知识。本文也尝试解释社区为什么这样工作的一些原因。内核几乎全 是用C写成的,有一些架构相关的部分是用汇编语言写成的。熟练掌握C语言是内核开发的必备条件。汇编语言(任何架构)的了解不是必须的,除非你准备做某个 架构的底层开发。虽然下面这些书不能完全代替扎实的C语言教学和/或者成年累月的经验,他们还是不错的参考,如果用得着的话:- "The C Programming Lan 阅读全文
posted @ 2011-12-06 23:26 风行雪舞 阅读(360) 评论(0) 推荐(0) 编辑
摘要: mdev的使用方法和原理mdev是busybox自带的一个简化版的udev,适合于嵌入式的应用埸合。其具有使用简单的特点。它的作用,就是在系统启动和热插拔或动态加载驱动程序时,自动产生驱动程序所需的节点文件。在以busybox为基础构建嵌入式linux的根文件系统时,使用它是最优的选择。mdev使用mdev的使用在busybox中的mdev.txt文档已经将得很详细了。但作为例子,我简单讲讲我的使用过程:(1)在编译时加上对mdev的支持(我是使用的是busybox1.10.1): Linux System Utilities ---> mdev Support /etc/mdev.co 阅读全文
posted @ 2011-12-06 23:25 风行雪舞 阅读(671) 评论(0) 推荐(0) 编辑
摘要: Linux下使用各种设备是一件令人兴奋的事情。在Unix的世界里,用户与硬件打交待总是简单的。最近笔者在Linux下搞了摄像头的开发,有一点感想发于此处。Linux中操作一个设备一般都是打开(open),读取(read)和关闭(close)。使用Read的大多是一些字符型设备,然而对于显示屏 或者摄像头这种字符设备而已,挨个字的读写将使得系统调用变得频繁,众所周之,系统调用对于系统而已是个不小的开销。于是有内存映射(mmap)等物,本 例中将讲述在Linux下开发摄像头的一般过程以及使用Qt进行界面开发的实例。使用mmap方式获取摄像头数据的方式过程一般为:打开设备 -> 获取设备的信息 阅读全文
posted @ 2011-12-06 23:25 风行雪舞 阅读(1642) 评论(0) 推荐(1) 编辑
摘要: 一、BMP它采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩;BMP文件的图像深度可选lbit、4bit、8bit及24bit。BMP文件存储数据时,图像的扫描方式是按从左到右、从下到上的顺序。当biBitCount=1时,8个像素占1个字节;当biBitCount=4时,2个像素占1个字节;当biBitCount=8时,1个像素占1个字节;当biBitCount=24时,1个像素占3个字节;二、GIFGIF文件的数据,是一种基于LZW算法的连续色调的无损压缩格式。其压缩率一般在50%左右;GIF的图像深度从lbit到8bit,也即GIF最多支持256种色彩的图像。GIF格式的另一 阅读全文
posted @ 2011-12-06 23:25 风行雪舞 阅读(824) 评论(0) 推荐(0) 编辑
摘要: 如果你是个学生,你应该会C,C++和 Java。还会一些VB,或C#/.NET。多少你还可能开发过一些Web网页,你知道一些HTML,CSS和JavaScript知识。总体上说,我们 很难发现会有学生显露出掌握超出这几种语言范围外的语言的才能。这真让人遗憾,因为还有很多种编程语言,它们能让你成为一个更好的程序员。在这篇文章里,我将会告诉你,为什么你一定要学习Python或Ruby语言。跟C/C++/Java相比 — Python/Ruby能让你用少的多的多的代码写出相同的程序。有人计算过,Python或Ruby写出的程序的代码行数只相当于相对应的Java代码的行数的五分之一。如果没有绝对的必要 阅读全文
posted @ 2011-12-06 23:25 风行雪舞 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 本文写给所有可爱的程序员,(我)你们都是一群可爱的,用双手建造世界的思想家。从今天起,我要做一个懒惰的程序员。第一 拒绝鼠标从今天,我将拒绝鼠标。鼠标,是鼠标手的 根源,无数的程序员都被鼠标手所困扰,这似乎已经成为了程序人员的专利。我们养成了一个一个的“恶习”,比如,滥用鼠标右键刷新,看文档的时候,喜欢用鼠 标来标记正在阅读的段落等等。这些非常规的使用使我们的手得了严重的疾病,我不知道,这样继续下去,当我们牙齿掉光的时候,是否还有能力抚摸妻子动人的面 庞。所以,我要从以下几个方面拒绝鼠标的诱惑:(虽然某些时候它真的很方便)1. 我要开始使用Emacs或是VimEmacs和Vim就是程序员的倚天 阅读全文
posted @ 2011-12-06 23:24 风行雪舞 阅读(273) 评论(0) 推荐(0) 编辑
上一页 1 ··· 6 7 8 9 10 11 12 13 下一页
无觅相关文章插件,快速提升流量