海风的Linux开发环境介绍
Title: `海风的Linux开发环境介绍
tag: linux开发入门, 开发环境, samba, indent, SourceInsight, Winux
文档发布声明: 任何人都可以针对本文档自由转贴,拷贝,引用,及修改后再发布,而无需过问我本人,只希望能够留下属于原作者的一些版权信息,请尊重原作者的劳动。
`海风 = temp77 ,意思是出生于 77 年的临时变量,目前就职于 GDLC .
简单归纳地说:
"Winux"式开发环境 -- 出于好的开发效率考虑,又何必拘泥于Win阵营还是Linux阵营呢?
( 补:由于个人偏爱C的开发,C++方面的一些设置请各位稍微自己变化、补充一下 )
首先声明一下:撰写本文的时候,测试和实践都是在 Red Hat Linux Enterprise AS4 (Nahant Update 4) 下完成的,简称 RHEL4_U4 。
我的开发环境选择是:
gcc+make + (Linux+ssh+samba) + (Win32+putty+SourceInsight) [ + indent.exe ]
简单解释一下上面所指的含义:
○ Linux下开发首先必须要有 gcc 和 make 实现编译、链接 ;
○ Linux下要提供远程连接的便利,推荐SSH方式(SSH数据传送量小、比VNC更专业,资源和带宽消耗也小得多);
○ samba打开Linux文件共享的大门,让从Win32下远程修改Linux文件系统下的源文件成为可能;
○ Win32下有非常方便和专业的源码编辑工具SourceInsight,简称为 SI,在熟练操作前提下可以大幅提升开发效率;
○ putty是Win32下(轻量级)连接Linux的SSH的实用工具,应用广泛还免费,值得推荐;
○ 上面还少提了一个net.exe,该命令可马上产生一个网络共享的网络磁盘(方便的很),但作为Win32的一个固定组件,故意省略了;
○ indent [是可选的]不强制使用(不过总有一些识货的人知道它的价值)。
写本文的初衷是,看到一些同学,在阅读源码的时候使用 SourceInsight ,修改后又打包上传到服务器(解压)编译执行,调试过程中有一些小的改动,又调出 VI 来一点点地找,一点点地改。这样子下来效率似乎是不太好。
有道是 "磨刀不误砍柴工",现提出从前一个公司继承过来的经验,即在Win32下使用高效率的编辑工具(SourceInsight)直接修改远程Linux上的源文件,配合SSH直接在远程Linux环境上执行编译和调试,这是一种实践证明非常高效的方法。
这里面没有
相关文档:
Service Discovery Protocol(SDP)提供一种能力,让应用程序有方法发现哪种服务可用以及这种服务的特性。
服务发现协议(SDP或Bluetooth SDP)在蓝牙协议栈中对蓝牙环境中的应用程序有特殊的含意,发现哪个服务是可用的和确定这些可用服务的特征。SDP定义了bluetooth client发现可用bluetooth server服务和它们的特征的方法。 ......
大家知道Linux中创建子进程的一个很好的方法是函数调用fork,但是很多初学者对fork的理解上可能有点困难。下面举个例子来看看fork的用法吧。
其实,大家用fork的时候记住fork是“分叉”的意思就很好理解了。
  ......
Skate
查看os系统块的大小
[root]# /sbin/tune2fs -l /dev/sda1
查看os系统页的大小
[oracle@skate-test ~]$ getconf PAGESIZE
4096
修改块的大小:
创建文件系统时,可以指定块的大小。如果将来在你的文件系统中是一些比较大的文件的话,使用较大的块大小 ......
解释一:
高端内存是指物理地址大于 896M 的内存。
对于这样的内存,无法在“内核直接映射空间”进行映射。
为什么?
因为“内核直接映射空间”最多只能从 3G 到 4G,只能直接映射 1G 物理内存,对于大于 1G 的物理内存,无能为力。
实际上,“内核直接映射空间”也达不到 1G, 还得留点 ......
linux中的段机制:
在linux中,逻辑地址到物理地址,是经过分段单元->分页单元这两个部分的转换来完成的。其中逻辑地址由段标识符和指定段内相对地址的偏移量。前者16位长的字段(段选择符segment selector),后者是32位长的字段。
段选择符的构成:
15-3(index)指定了放在GDT或者LDT中的相应段描述符的入口
2(TL- ......