Chinaunix首页 | 论坛 | 博客
  • 博客访问: 990300
  • 博文数量: 102
  • 博客积分: 10120
  • 博客等级: 上将
  • 技术积分: 2754
  • 用 户 组: 普通用户
  • 注册时间: 2006-09-13 23:00
文章分类

全部博文(102)

文章存档

2011年(6)

2010年(55)

2009年(16)

2008年(25)

分类: LINUX

2009-09-21 19:10:11

36 在makefile中写shell命令时,Compound commands(复合shell命令)必须写在一行上。比如:

LIST = one two three
all:
for i in $(LIST); do \
echo $$i; \
done

为了把复合语句写在多行上,必须用\连接多行为一行。

37 在C语言的enum中可以使用已经定义的enum。比如,像下面这样:

enum {
/* listening port */
LISTENING_DECCOMMPORT = 0,
LISTENING_DECDATAPORT,
LISTENING_PLYCOMMPORT,
LISTENING_PLYDATAPORT,
LISTENING_GUICOMMPORT,
LISTENING_GUIDATAPORT,

/* connected port */
CONNECTED_DECDATAPORT,
CONNECTED_PLYCOMMPORT,
CONNECTED_PLYDATAPORT,
CONNECTED_GUICOMMPORT,
CONNECTED_GUIDATAPORT,
};

enum {
LISTENING_PORT_NUMBER = LISTENING_GUIDATAPORT - LISTENING_DECCOMMPORT + 1,
CONNECTED_PORT_NUMBER = CONNECTED_GUIDATAPORT - LISTENING_PORT_NUMBER + 1,
TOTAL_PORT_NUMBER     = LISTENING_PORT_NUMBER + CONNECTED_PORT_NUMBER,
};

但是,如果一个enum的使用在其定义之前,则会出现错误。

38 当向htons()传入大于等于65536的数时,将会发生什么?htons()是将一个unsigned short类型从主机字节序转换为网络字节序的函数(也可能实现为宏定义),当传入的数大于unsigned short类型所能表示的范围时,htons()将会把传入的数的类型转换为unsigned short类型,这导致的结果是实际得到的数被回绕到了unsigned short类型的起始端。若传入的数值为n,则类型转换的结果相当于n % 65536。因此,当向htons()传入65536时,htons()实际上认为传入的是0;如果传入的是65537,则htons()实际上认为传入 的是1;以此类推。在网络编程时,如果不小心在大于65535的端口上打开一个监听套接口,程序不会报错,但实际上套接口并没有在指定的端口上监听。这样 的错误比较隐蔽,应当引起注意。

39 在$HOME目录下,有一个名为.ccache的文件夹,这个文件夹是ccache保存缓存的头文件都内容的地方,可能会占据较大磁盘空间,当磁盘空间紧 张时,可以检查$HOME/.accache/文件夹,如果发现占据空间过大,可以用ccache -C清除此目录下的数据。按man手册,ccache is a fast compiler cache。

40 Linux下的几种绘图软件:dia,gnuplot,pic。pic用于从图片描述生成TeX或者groff能够理解的命令。gnuplot是命令行下的绘图工具,可以输出符合TeX要求的命令。dia是桌面绘图工具。

41 对于source rpm的安装,常简单的方法是首先用rpmbuild —rebuild yourfile.src.rpm构建出二进制RPM包,二进制RPM包通常位于/usr/src/redhat/RPMS/i386/目录下(在我的 Fedora Core上是这样的:从source rpm构建的中间文件都存放在/usr/src/redhat/目录下)。构建好二进制RPM包后,进入/usr/src/redhat/RPMS /i386/目录,输入rpm -ivh yourfile.rpm命令安装构建出来的RPM包。这里举一个例子——安装nasm-2.05.99.91-1.src.rpm包:

首先用rpmbuild构建二进制RPM包:

rpmbuild —rebuild nasm-2.05.99.91-1.src.rpm

构建完成之后,在/usr/src/redhat/RPMS/i386/目录下将会得到一个nasm-2.05.99.91-1.i386.rpm,用rpm命令安装这个构建出来的二进制RPM包:

rpm -ivh nasm-2.05.99.91-1.i386.rpm

这样,就把nasm-2.05.99.91安装到系统中了。

42 在Linux/UNIX下可以用rdesktop登录Windows的3389服务(Remote TeminalService,远程终端服务)。

43 如果需要将Linux上的文件备份到Windows上,可以考虑使用rsync:在Linux上启动rsyncd,在Windows用rsync备份。Windows上的rsync工具是cwRsync。

44 用httpfs()可以把任何通过http能够访问的文件挂载到Linux的文件系统上,当 然挂载的文件是只读的。用unpackfs()则可以挂载诸如gzip,bzip2这样 的压缩文件到文件系统的挂载点上。

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