Chinaunix首页 | 论坛 | 博客
  • 博客访问: 6478718
  • 博文数量: 579
  • 博客积分: 1548
  • 博客等级: 上尉
  • 技术积分: 16635
  • 用 户 组: 普通用户
  • 注册时间: 2012-12-12 15:29
个人简介

http://www.csdn.net/ http://www.arm.com/zh/ https://www.kernel.org/ http://www.linuxpk.com/ http://www.51develop.net/ http://linux.chinaitlab.com/ http://www.embeddedlinux.org.cn http://bbs.pediy.com/

文章分类

全部博文(579)

文章存档

2018年(18)

2015年(91)

2014年(159)

2013年(231)

2012年(80)

发布时间:2012-12-28 19:22:15

在学习Linux进程内核栈的时候,看到这篇好文,在这里转载下:(注意:数据结构针对的是早期的2.4内核,2.6以后的内核数据结构和处理方法稍有不同,但是基本原理相同) 作者: 曹国辉 南京凌嵌教育嵌入式Linux金牌讲师 专题研究一  进程的深入理解与分析        进程是程序的一次执行过程。用剧本和演出来类比,程序相当于剧本,而进程则相当于剧本的一次演出,舞台、灯光则相当于进程的运行环境。 进程的堆栈       每个进程......【阅读全文】

阅读(1928) | 评论(0) | 转发(0)

发布时间:2012-12-27 09:57:15

请编写一个makefile同时编译、链接下面两个程序: main1.c: #include<stdio.h> int main(void) {     printf("main1\n"); } main2.c: #include<stdio.h> int main(void) {     printf("main2\n"); } 【分析】:这里需要生成两个可执行文件main1和main2(两个目标)。由于makefile只能有一个目标,所以可以构造一个没有规则的终极目标a......【阅读全文】

阅读(24289) | 评论(1) | 转发(2)

发布时间:2012-12-26 14:14:28

.tar 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (注:tar是打包,不是压缩!) ——————————————— .gz 解压1:gunzip FileName.gz 解压2:gzip -d FileName.gz 压缩:gzip FileName .tar.gz 和 .tgz 解压:tar zxvf FileName.tar.gz 压缩:tar zcvf FileName.tar.gz DirName ——————————————— .bz2 解压1:bzip2 -d FileName.b......【阅读全文】

阅读(4761) | 评论(2) | 转发(6)

发布时间:2012-12-22 09:10:38

使用变量———— 在Makefile中的定义的变量,就像是C/C++语言中的宏一样,他代表了一个文本字串,在Makefile中执行的时候其会自动原模原样地展开在所使用的地方。其与C/C++所不同的是,你可以在Makefile中改变其值。在Makefile中,变量可以使用在“目标”,“依赖目标”,“命令”或是Makefile的其它部分中。 变量的命名字可以包含字符、数字,下划线(可以是数字开头),但不应该含有“:”、“#”、“=”或是空字符(空格、回车等)。变量是大小写敏感的,“foo”、“Foo”和“FOO”是三个不同的变量名。传统的Makefile的变量名是全大写的命名方式,但我推荐......【阅读全文】

阅读(745) | 评论(0) | 转发(0)

发布时间:2012-12-22 09:10:32

书写命令———— 每条规则中的命令和操作系统Shell的命令行是一致的。make会一按顺序一条一条的执行命令,每条命令的开头必须以[Tab]键开头,除非,命令是紧跟在依赖规则后面的分号后的。在命令行之间中的空格或是空行会被忽略,但是如果该空格或空行是以Tab键开头的,那么make会认为其是一个空命令。 我们在UNIX下可能会使用不同的Shell,但是make的命令默认是被“/bin/sh”——UNIX的标准Shell解释执行的。除非你特别指定一个其它的Shell。Makefile中,“#”是注释符,很像C/C++中的“//”,其后的本行字符都被注释。 一、显示命令 通常,make会......【阅读全文】

阅读(661) | 评论(0) | 转发(0)

发布时间:2012-12-22 09:10:19

六、多目标 Makefile的规则中的目标可以不止一个,其支持多目标,有可能我们的多个目标同时依赖于一个文件,并且其生成的命令大体类似。于是我们就能把其合并起来。当然,多个目标的生成规则的执行命令是同一个,这可能会可我们带来麻烦,不过好在我们的可以使用一个自动化变量“$@”(关于自动化变量,将在后面讲述),这个变量表示着目前规则中所有的目标的集合,这样说可能很抽象,还是看一个例子吧。     bigoutput littleoutput : text.g        &nbs......【阅读全文】

阅读(860) | 评论(0) | 转发(0)

发布时间:2012-12-22 09:10:13

书写规则———— 规则包含两个部分,一个是依赖关系,一个是生成目标的方法。 在Makefile中,规则的顺序是很重要的,因为,Makefile中只应该有一个最终目标,其它的目标都是被这个目标所连带出来的,所以一定要让make知道你的最终目标是什么。一般来说,定义在Makefile中的目标可能会有很多,但是第一条规则中的目标将被确立为最终的目标。如果第一条规则中的目标有很多个,那么,第一个目标会成为最终的目标。make所完成的也就是这个目标。 好了,还是让我们来看一看如何书写规则。 一、规则举例     foo.o : foo.c defs.h&nbs......【阅读全文】

阅读(669) | 评论(0) | 转发(0)

发布时间:2012-12-22 09:10:07

Makefile 总述——————— 一、Makefile里有什么? Makefile里主要包含了五个东西:显式规则、隐晦规则、变量定义、文件指示和注释。 1、显式规则。显式规则说明了,如何生成一个或多的的目标文件。这是由Makefile的书写者明显指出,要生成的文件,文件的依赖文件,生成的命令。 2、隐晦规则。由于我们的make有自动推导的功能,所以隐晦的规则可以让我们比较粗糙地简略地书写Makefile,这是由make所支持的。 3、变量的定义。在Makefile中我们要定义一系列的变量,变量一般都是字符串,这个有点你C语言中的宏,当Makefile被执行时,其中的变量都会被......【阅读全文】

阅读(669) | 评论(0) | 转发(0)

发布时间:2012-12-22 09:10:01

三、make是如何工作的 在默认的方式下,也就是我们只输入make命令。那么,     1、make会在当前目录下找名字叫“Makefile”或“makefile”的文件。    2、如果找到,它会找文件中的第一个目标文件(target),在上面的例子中,他会找到“edit”这个文件,并把这个文件作为最终的目标文件。    3、如果edit文件不存在,或是edit所依赖的后面的 .o 文件的文件修改时间要比edit这个文件新,那么,他就会执行后面所定义的命令来生成edit这个文件。 &n......【阅读全文】

阅读(729) | 评论(0) | 转发(0)

发布时间:2012-12-22 09:09:54

跟我一起写 Makefile  陈皓 概述—— 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力。 因为,makefile关系到了整个工程的编译规则。一个工程中的源文件不计数,其按类......【阅读全文】

阅读(942) | 评论(0) | 转发(0)

发布时间:2012-12-20 10:30:15

本地计算机ip:192.168.1.100远程计算机ip:192.168.1.244   远程计算机打开 mysql 服务器:#/etc/init.d/mysql.server start   本地计算机连接远程 mysql服务器:./mysql -h "192.168.1.244" -u root -p   发生以下错误:   ERROR 1130 (HY000): Host '192.168.1.100' is not allowed to connect to this MySQL server出现这种情况是......【阅读全文】

阅读(58829) | 评论(0) | 转发(3)

发布时间:2012-12-20 09:08:51

linux 3.2 内核中对调试的支持make menuconfig -> Kernel hacking -> kernel debugging选中,使内核使能内核调试功能1,使用 printk 进行调试printk的健壮性随时调用在中断中调用在进程上下文中调用在持有锁时调用在多处理器上同时使用printk的脆弱性终端启动前无法调用early_printk() printk的记录等级printk( KERN_WARNING“This is a warning\n”);printk( KERN_DEBUG“This is a warning!\n”);printk( “No......【阅读全文】

阅读(1197) | 评论(0) | 转发(1)

发布时间:2012-12-19 10:52:00

一、 什么是ioctl     ioctl是设备驱动程序中对设备的I/O通道进行管理的函数。所谓对I/O通道进行管理,就是对设备的一些特性进行控制,例如串口的传输波特率、马达的转速等等。它的调用个数如下: int ioctl(int fd, ind cmd, …);     其中fd是用户程序打开设备时使用open函数返回的文件标示符,cmd是用户程序对设备的控制命令,至于后面的省略号,那是一些补充参数,一般最多一个,这个参数的有无和cmd的意义相关。     ioctl函数是文件结构中的......【阅读全文】

阅读(1658) | 评论(0) | 转发(4)

发布时间:2012-12-19 09:45:26

想安装中文输入法时提示:Software database is brokenIt is impossible to install or remove any software. Please use the package manager "Synaptic" or run "sudo apt-get install -f" in a terminal to fix this issue at first.解决方法:sudo apt-get install -f......【阅读全文】

阅读(9144) | 评论(0) | 转发(1)

发布时间:2012-12-19 09:42:08

chattr    1.作用    修改ext2和ext3文件系统属性(attribute),使用权限超级用户。    2.格式    chattr [-RV] [-+=AacDdijsSu] [-v version] 文件或目录    3.主要参数    -R:递归处理所有的文件及子目录。    -V:详细显示修改内容,并打印输出。    -:失效属性。    +:激活属性。    = :指定属性。    A:Atime,告诉系统不要修改对这个文件的最后访问时间。    S:Sync,一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘。    a:Append Only,系统......【阅读全文】

阅读(875) | 评论(0) | 转发(1)

发布时间:2012-12-19 09:25:14

linux操作系统中最常见的无法上网的原因是DNS与网关冲突解决方法:     gedit /etc/resolv.conf 显示如下:把nameserver 改为你的网关即可。2,再把 /etc/resolv.conf 设置为:系统不允许对这个文件进行任何的修改       # chattr +i /etc/resolv.conf3,如果还不行,就肯定是没有创建连接或是创建的连接不对。解决方法:     1,打开网络连接(选择有线的 : Wired) &......【阅读全文】

阅读(1137) | 评论(0) | 转发(2)

发布时间:2012-12-18 14:39:43

简介:
两种安装方式:二进制文件安装和编译安装(本文使用二进制安装方式安装,有兴趣的童鞋自己尝试编译安装)

环境
Ubuntu-11-10 32位准备
0.获取mysql-5.5.20-linux2.6-i686.tar.gz二进制安装文件 


具体步骤:
     mysql官网下载页面选择Linux-Generic下的Linux - Generic 2.6 (x86,32-bit), Compressed (位数适你的linux的位数而定。    我这里用的是32位的,所以我选择32位版本的mysql)
&......【阅读全文】

阅读(1359) | 评论(0) | 转发(1)

发布时间:2012-12-18 11:22:35

在笔记本上安装好了Ubuntu11.10,但郁闷的发现一次重启后,无线网络的灯不亮了,在界面上也显示设备未托管,死活启动不了无线网络链接。查阅了网上的一些资料,终于找到了解决办法。 这个问题出现的原因,是我在设置好了PPPOE后,系统改写了interfaces文件,导致Network-Manager与之冲突,从而关闭了无线网卡管理。 解决方法是: 修改文件: /etc/NetworkManager/NetworkManager.conf managed=true 然后重启即可解决。   P.S.   貌似还是存在着PPPOE老掉线的问题,待解决。。......【阅读全文】

阅读(977) | 评论(0) | 转发(0)

发布时间:2012-12-17 18:53:17

 1,rpm           redhat 上安装 rpm 文件:           #rpm -ivh libXX 2. Ubuntu 11.10下如何设置主机名           主机名存放在/etc/hostname中 ,sudo gedit /etc/hostna......【阅读全文】

阅读(992) | 评论(0) | 转发(1)

发布时间:2012-12-17 15:18:04

先准备好两个镜像文件rhel-server-6.0-x86_64-boot.isorhel-server-6.0-x86_64-dvd.iso6.0中已经没有images\boot.iso这个文件了,而是直接提供了一个镜像。而5.5的应该还是用这个镜像来引导。第一步制作启动U盘:这个跟网上说的差不多,用UltraISO打开rhel-server-6.0-x86_64-boot.iso,然后点击启动光盘->写入硬盘镜像,选择硬盘驱动器为U盘。写入方式为:usb-hdd+->最后点击“写入”,提示刻录完成。第二步提取rhel-server-6.0-x86_64-dvd.iso中的ima......【阅读全文】

阅读(1125) | 评论(0) | 转发(1)

发布时间:2012-12-17 15:16:24

今天用U盘安装Redhat Linux6.0 的时候报错"#1 缺少iso9600图像".经过上网查资料和自己的实验总算是搞明白了. 用U盘安装缺少iso9600的原因是:iso9600 是光盘的文件格式,在Redhat Linux6.0和fedora14 中用了新的文件格式,把iso镜像文件写入U盘中不支持这种新的文件格式. 其解决办法是:用UlsterISO把iso镜像文件写入U盘后再把整个Iso镜像文件都考入到U盘中去.......【阅读全文】

阅读(2346) | 评论(0) | 转发(1)
给主人留下些什么吧!~~

Dafanzi2016-12-05 18:21

我找到代码了 不用了 谢谢

回复  |  举报

Dafanzi2016-12-05 17:20

大佬,在你这篇讲解内存池的博文(http://blog.chinaunix.net/uid-28458801-id-4254501.html)中,list.h源文件没有提供啊。你能提供这个博文的完整代码我学习学习吗?能的话发给我邮箱可以吗?brottfan@163.com谢谢啦

回复  |  举报
留言热议
请登录后留言。

登录 注册