2009年7月20日星期一

linux include头文件

在linux下的c编程中,在头文件中经常要用#include
<sys/stat.h>以及#include<linux/*>,请问为什么要在前面加sys或者linux,我们怎么查看编译器的查找路径呢?

通常,Linux下默认的路径是/usr/include, 和/usr/local/include,
最后还会搜索当前目录。如果你要include这些目录中的子目录中的头文件,如linux,
sys,那就应当 #include <linux/*> 或者<sys/*>。
因此,你也应该经常能看到#inlcude <../*>之类的用法,这是在当前目录中搜索。
在当前目录中用#include "head.h" 更好,这个你应该知道是为什么了。

如果你想#include <...> 其他目录下的投文件,
那么在编译的时候你就应当使用-I选项跟后面的目录。
这样,编译器在编译的时候就会到此目录去寻找头文件。

error: X11/Intrinsic.h: No such file or directory-reprint

今天在xubuntu下安装GMT,在同学SUCE上很容易就安装好了,可是在xubuntu上安装不上,原始是error:
X11/Intrinsic.h: No such file or directory,估计又是"著名"的包依赖问题,但
是不知道是那个包,google一下,找到个老外的帖子,说是xorg-x11-devel这个包安装了就行,这个包在现现在的Ubuntu8.04中对
应的为xorg-dev这个包,选择安装后重新编译成功!这个包的描述和名称应该是:the
X.Org X Window System development libraries,供参考。

“隐形”闪光拍摄技术

有没有试过在黑暗环境中拍照,使用闪灯会有爆光及光晕,不开闪光灯又不行?一项最新的拍摄技术可能会于不久的将来为大家解决此问题。《NewScientist》报道,纽约大学的 Dilip Keishnan 及 Rob Fergus 发现了一种不可视闪灯的拍照技术(Dark Flash Photography,以红外线闪光灯配以紫外光技术,来取代现有的闪光灯运作模式。