易截截图软件、单文件、免安装、纯绿色、仅160KB

GNU/Linux 开发环境 (1)

几周以前,无意中看了我开发Linux服务程序的工作环境搭配这篇文章,忍不住拍了砖,结果作者在回复中激我,要我写个看看。其实看不惯很多人围绕M$的习惯,早已有写点什么的想法,可是没什么时间,也担心不同的想法和自己退步了很多的中文会迷惑有Linux学习热情的同行,更不用说没准还会吓跑别人。为了表示我是从来不吃激将法的,我等了几周,觉得那篇文章差不多被人遗忘了,就开始了思考这个题目。
声明:写这些是为了和有学习Linux开发兴趣的同行们交流,坚决看不惯Linux或者不得不学点Linux的人就不要浪费时间看了。另外文中的中文翻译不准确的地方,我都尽量标注英语以防误解。
1)GNU + Linux
许多人特别是内核的开发者曾经反复强调Linux只是Linux操作系统的内核,这是我非常赞同的,因为GNU工具同样是Linux操作系统不可缺少的部分,GNU + Linux才是完整的操作系统。
理解GNU/Linux的第一步是理解内核模式和用户模式的区别。其实简单的讲,使用任何一种Linux发布版,我们直接用的都是用户模式下的应用程序,尽管操作都是在内核的帮助下完成的,这和Windows没有区别。
无论在用户模式还是内核模式,GNU工具是必不可少的,尽管它们远远没有内核出的风头大。这就是我坚持称之为GNU/Linux的原因。不过,区别是GNU工具是内核开发所必需的,而在用户模式下,它们是任何应用程序运行不可或缺的。
GNU工具:bash, GCC (GNU Compiler Collection, 不是GNU C compiler), ld, gdb, gprof, glibc, binutils, nm, objdump, ldd, 等等等等.
2)内核开发
GNU/Linux的内核开发环境非常简单,但也是对技能和知识要求很高的,命令行的工具如GCC, make, shell script 和 vi/Emacs/Nano 是必须会用的,因为大多数情况下,调试的时候只有bash,同时,必须有很强的代码阅读能力,因为许多细节都在内核代码中。
需要注意的是,虽然有kgdb的存在,内核代码的调试基本不用调试器,因此printk是首要工具,而且它是必须熟练掌握的,因为每个内核开发者都会不可避免的依赖它。不过另一个有趣的kgdb应用是它可以用来学习system call是如何实现的。
我虽然做了不少内核开发和调试,但是深知自己很肤浅,在此就不继续深谈了。需要说明的是,GNU/Linux开发不是只有内核开发,也不是做内核开发就高人一等,“术业有专攻”而已。
3) 用户模式应用程序的开发
在Linux和UNIX的世界,延续了内核开发习惯,C语言是最重要的编程语言,简单的讲,内核 +  GLIBC


相关文档:

Linux 访问fat格式文件系统

首先要导入这些头文件
#include
#include
#include
#include
#include
#include



然后看一下实际的操作


1、查看文件系统信息
asmlinkage long get_files_info(char * filesystem_type)//取得当前目录的文件系统信息
{
struct fs_struct *fs ;
struct vfsmount *mnt ;
......

linux 消息队列使用经验

概述:
消息队列是linux下进程间通信的一种方式,一般用于传送少量数据,如果大量数据需要在进程间共享,则可以用共享内存。
函数接口使用:
linux下提供了以下几个接口,用于消息队列的使用,使用一般过程如下:
1. 调用ftok接口产生一个key.
    使用ftok的好处是,访问同一个消息队列的不同进程可以 ......

Linux平台下文件的压缩与解压参数说明


面对着一些后缀为tar、tar.gz、tar.bz2……就有些茫然了,
其实理解了,自然就迎刃而解了。
首先要明确一个概念,linux下面的打包和压缩是两码事,
也就是你可以对文件进行打包,但是不压缩。
来看个例子:
在我的根目录下有个名为wallpaper的文件夹,里面是一些墙纸,
我现在对这个文件夹进行打包,但 ......

在Linux下进行文件“粉碎”

众所周知Windows下的文件删除之后是有可能恢复的,对重要文件,为了增加恢复的难度,我们可以用文件粉碎工具进行文件粉碎。我最常用的是集成到资源管理器中的Eraser。那么在Linux下有没有类似的软件呢?我在一台只有Ubuntu系统的主机上,安装了一个文件粉碎工具wipe,有些想法,记下来。
安装:apt-get install wipe
wipe ......

Linux压缩与解压缩参数说明

tar命令: tar [-cxtzjvfpPN] 文件与目录 ....
# f+ E' `# d' W( {参数: & e( U# Y4 x; c$ b2 O; j/ p
-c :建立一个压缩文件的参数指令(create 的意思);
. E' {. v5 ^  \' v3 O5 H, C' @- p& ^-x :解开一个压缩文件的参数指令! 3 |& u2 z: k( A# ?% c
-t :查看 tarfile 里面的文件!
9 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号