易截截图软件、单文件、免安装、纯绿色、仅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 开机问题

Ubuntu10.04镜像会出现无法识别键盘输入。在登录画面时,不能输入密码,无法正常进入系统。 解决办法: (1) 开户屏幕键盘功能 在上图开机界面在右下角单击小人图案,再单击“Universal Access Perferences”,出击“Universal Access Perferences”对话框,在对话框中选中“Use on-screen keybo ......

Linux内核参数调优

1. 查看socket状态
server1:~ # netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
TIME_WAIT 257
CLOSE_WAIT 117
FIN_WAIT2 2
ESTABLISHED 228
2. #vi /etc/sysctl.conf
3. 增加
   net.ipv4.tcp_keepalive_time = 120
   net.ipv4.tcp_keepalive_probes = 2
 &n ......

asterisk 移植到 嵌入式linux ppc_6xx 环境下

将asterisk移植到ppc__6xx环境下的嵌入式系统上的主要步骤:
在宿主机上asterisk源码包解压缩后的目录下:
1.  ./configure CC=ppc_6xx_gcc --without_gnu_ld __host=ppc_linux (过去有段时间了,大小写可能有点记不清楚)
2. make menuselect (选择要裁剪的组件)
3. make cross_complier=ppc_6xx ARCH=ppc
4. ma ......

linux的PC上挂载jffs2根文件系统映像

http://linux.ctocio.com.cn/437/8831437.shtml
我们在调试硬件板时,经常需要做多个jffs2的根文件系统映像,有时也要对比其他途径得到的可用的jffs2根文件系
统映像。但jffs2的文件系统映像不象光盘的映像文件一样可以通过loop设备来挂载……
我们在调试硬件板时,经常需要做多个jffs2的根文件系统
映像, ......

【Nutch】Linux下单机配置Nutch

Linux下单机配置Nutch
 
1.环境介绍
操作系统:Red hat linux 9
Nutch版本:nutch-0.9,下载:http://apache.etoak.com/lucene/nutch/
JDK版本:JDK 1.6
Apache Tomcat版本:apache-tomcat-6.0.18
http://apache.etoak.com/tomcat/tomcat-6/v6.0.18/bin/apache-tomcat-6.0.18.tar.gz
2.配置前提
2.1 安装jdk ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号