随笔分类 -  GNU/Linux Dev

GNU Complier Collection and tool chains, Shell/Python Programming, Kernel Codes analysis, Linux From Scratch, POSIX thread and Socket Programming 学习GNU工具集, 熟悉Shell/python编程, 内核代码分析, DIY或任意摆弄Linux...
摘要:  bin = BINaries /dev = DEVices /etc = ETCetera /lib = LIBrary /proc = PROCesses /sbin = Superuser BINaries /tmp = TeMPorary /usr = Unix Shared Resources /var = VARiable ? FIFO = First In, First ... 阅读全文
posted @ 2009-08-01 10:03 中土 阅读(3148) 评论(0) 推荐(3)
摘要:第3章 字符设备驱动 一些重要的数据结构以及引用关系: 第一步:MAJOR设备编号的动态分配 int register_chrdev_region(dev_t first, unsigned int count, char *name); int alloc_chrdev_region(dev_t *dev, unsigned int firstminor, unsigned int count,... 阅读全文
posted @ 2008-10-20 16:31 中土 阅读(981) 评论(0) 推荐(0)
摘要:Author: Charles Yang Linux Dist: Ubuntu 8.04 Hardy 1. Preparation 1.1 Download source code with apporiate version Usually, the linux release distribution have no full kernel source code tree. So y... 阅读全文
posted @ 2008-10-11 21:59 中土 阅读(537) 评论(0) 推荐(0)
摘要:1. 从Xterm 切换到term ( pts -> tty ) Ctr + Alt + F1 ~ F6 可切换到6个控制台 Ctr + Alt + F7 ~ F12 可切换回6个X终端 注: 内核编程或驱动模块开发时,message会打印到tty终端,xterm下面是看不到的,只能去看日志。故建议开发驱动时直接到终端下开发,使用vim很好 2. vim基本使用 两个模式: 命令模式(Comman... 阅读全文
posted @ 2008-10-11 15:06 中土 阅读(345) 评论(0) 推荐(0)
摘要:Index of Documentation for People Interested in Writing and/or Understanding the Linux Kernel. Juan-Mariano de Goyeneche /* * The latest version of this document may be found at: * http:... 阅读全文
posted @ 2008-10-11 13:23 中土 阅读(739) 评论(0) 推荐(0)
摘要:LKMPG-2.6.x(中文): http://dirac.org/linux/writing/lkmpg/2.6/chinese/lkmpg_chs/ LKMPG-2.6.x(英文): http://dirac.org/linux/writing/lkmpg/2.6/lkmpg-2.6.0.html Linux 2.6 和 2.4 的比较我不想废话,总体来说 2.6 功能更强,但... 阅读全文
posted @ 2008-10-11 00:00 中土 阅读(732) 评论(0) 推荐(0)
摘要:摘要 Linux内核模块编程的资料有些纷繁复杂,有的过于简单,有的过于庞杂,我试图用笔记的形式想读者展示怎样来进程Linux模块编程,力图做到简 明扼要,这篇文章也是作为本人备忘的资料,所以有些地方过于简略是难免的。本来这篇文章的目的就是让用户知其然,至于所以然还是请参考相应的资料,其实最 好的资料莫过于Linux Kernel Source。 适用范围: Linux Kerne... 阅读全文
posted @ 2008-10-10 23:53 中土 阅读(2925) 评论(0) 推荐(0)
摘要:一.库的分类 有两种说法,如果熟悉WIN平台下的DLL,相信不难理解: 库可以有三种使用的形式:静态、共享和动态。静态库的代码在编译时就已连接到开发人员开发的应用程序中,而共享库只是在程序开始运行时才载入,在编译时, 只是简单地指定需要使用的库函数。动态库则是共享库的另一种变化形式。动态库也是在程序运行时载入,但与共享库不同的是,使用的库函数不是在程序运行开 始,而是在程序中的语句... 阅读全文
posted @ 2007-11-28 23:03 中土 阅读(932) 评论(0) 推荐(0)
摘要:作为Linux下的程序开发人员,大家一定都遇到过Makefile,用make命令来编译自己写的程序确实是很方便。一般情况下,大家都是手工写一个简单Makefile,如果要想写出一个符合自由软件惯例的Makefile就不那么容易了。 在本文中,将给大家介绍如何使用autoconf和automake两个工具来帮助我们自动地生成符合自由软件惯例的Makefile,这样就可以象常 见的GNU程序一样,... 阅读全文
posted @ 2007-11-27 20:08 中土 阅读(672) 评论(0) 推荐(0)
摘要:The History of GCC 1984年,Richard Stallman发起了自由软件运动,GNU (Gnu's Not Unix)项目应运而生,3年后,最初版的GCC横空出世,成为第一款可移植、可优化、支持ANSI C的开源C编译器。 GCC最初的全名是GNU C Compiler,之后,随着GCC支持的语言越来越多,它的名称变成了GNU Compiler Collection... 阅读全文
posted @ 2007-10-15 21:40 中土 阅读(1503) 评论(0) 推荐(0)
摘要:当高级语言函数被编译成机器码时,有一个问题就必须解决:因为CPU没有办法知道一个函数调用需要多少个、什么样的参数。即计算机不知道怎么给这个函数传递参数,传递参数的工作必须由函数调用者和函数本身来协调。为此,计算机提供了一种被称为栈的数据结构来支持参数传递。 ... 阅读全文
posted @ 2007-09-22 12:39 中土 阅读(2008) 评论(0) 推荐(3)
摘要:本文介绍了在 linux 系统中,通过 Gnu autoconf 和 automake 生成 Makefile 的方法。主要探讨了生成 Makefile 的来龙去脉及其机理,接着详细介绍了配置 Configure.in 的方法及其规则。 引子 无论是在Linux还是在Unix环境中,make都是一个非常重要的编译命令。不管是自己进行项目开发还是安装应用软件,我们都经常要用到make或 make i... 阅读全文
posted @ 2007-09-20 21:58 中土 阅读(1596) 评论(0) 推荐(0)
摘要:第一部分 CVS简介 cvs ( Concurrent Version System )是一个版本控制系统,什么是版本控制系统呢?简单的说,它可以记录程序代码修改的过程,有一个完整的历史记录( history )。辟如说,当你在修改程序代码的时候, 不小心写出了一个 bug,但是你可能很久以后才发现多出了这个 bug, 这个时候,cvs 就能很有效的帮助你找出到底是在哪一次的修改中,出现了这个... 阅读全文
posted @ 2007-09-20 18:15 中土 阅读(886) 评论(2) 推荐(0)
摘要:标准 (ANSI C, POSIX, SVID, XPG, ...) 函数库和系统调用 在线文档 (man, info, HOW-TO, ...) C 语言编程风格 库和头文件的保存位置 共享库及其相关配置 1.4.1 标准 (ANSI C, POSIX, SVID, XPG, ...) ANSI C :这一标准是 ANSI(美国国家标准局)于 ... 阅读全文
posted @ 2007-09-19 02:46 中土 阅读(868) 评论(1) 推荐(0)
摘要:glibc是标准C的gnu实现,是基于GPL的,即包含标准C库然后有所扩展,linux下的gcc默认使用glibc,当然你也可以指定一个库。它比标准C库有更多的函数 阅读全文
posted @ 2007-09-19 02:04 中土 阅读(1086) 评论(0) 推荐(0)
摘要:DLL: 动态链接库 (DLL) 是作为共享函数库的可执行文件。动态链接提供了一种方法,使进程可以调用不属于其可执行代码的函数。函数的可执行代码位于一个 DLL 中,该 DLL 包含一个或多个已被编译、链接并与使用它们的进程分开存储的函数。DLL 还有助于共享数据和资源。多个应用程序可同时访问内存中单个 DLL 副本的内容。 obj:是... 阅读全文
posted @ 2007-09-19 01:36 中土 阅读(3797) 评论(0) 推荐(0)
摘要:1. 平台差异简介 Windows 和Unix是当前两大主流操作系统平台,基于C/C++的开发人员经常会面临这两个平台之间的移植的问题。Unix作为一个开发式的系统,其下有出现了很 多个分支,包括Sun的Solaris、IBM的AIX、HP Unix、SCO Unix、Free BSD、苹果的MAC OS以及开源的Linux等。对于这些Unix的分支操作系统,其实现又有很大的差别,因此开发人员又要... 阅读全文
posted @ 2007-09-18 14:19 中土 阅读(11634) 评论(1) 推荐(2)

©2005-2008 Suprasoft Inc., All right reserved.