linux杂项

glib的下载地址:

http://ftp.gnome.org/pub/GNOME/sources/glib/2.26/


为 GNOME 2 作好准备

http://www.ibm.com/developerworks/cn/linux/guitoolkit/gnome/gnome2/part1/

http://www.ibm.com/developerworks/cn/linux/guitoolkit/gnome/gnome2/part2/


GTK相关

http://blog.csdn.net/absurd/category/177436.aspx


Gtk+主循环

http://www.donevii.com/post/580.html


imtx一些不错的桌面开发文章

http://imtx.cn/archives/category/desktop-develop/


对某个目录下面所有.c和.h的文件生成TAGS,以方便emacs等查找源码的符号定义

find . -name "*.[chCH]" -exec etags -a {} /;


gtags可以在emacs中用来查找函数引用,即某个函数在哪些地方被调用

apt-get install global可以安装gtags

在project是目录下执行:

gtags

你会发现在当前目录多了几个文件:GPATH、GRTAGS、GSYMS、GTAGS。它们就是用于在源文件之间快速跳转。

在emacs里进入到gtags模式,执行“M-x gtags-mode”。

这样就可以使用“gtags-find-pattern”和“gtags-find-symbol”来查找函数调用和声明以及符号声明。


pkg-config 

http://blog.csdn.net/absurd/archive/2006/02/15/599813.aspx


gcc `pkg-config --cflags --libs gtk+-2.0` -o hello helloworld.c

这个编译选项,实际上是把 `` 之间的进行执行解析,再作为gcc的选项

pkg-config --cflags --libs gtk+-2.0会从相应的/usr/lib/pkgconfig目录下(也可能是其它目录)找到gtk+-2.0.pc文件,然后解析这个.pc文件,把gtk+-2.0对应的库文件目录打印到当前位置,作为gcc的选项。


gcc -g -o main main.c `pkg-config --cflags glib-2.0` `pkg-config --libs glib-2.0`


使用 Linux 命令 ldd 可以看出所需的共享库

ldd a.out


如何系统有两个相同的库,一个是自己编译的debug版本的话,则在编译链接程序的时候,指定用我们的,这样的话,库函数才能用s命令跟进去。可以临时在LD_LIBRARY_PATH中加入我们自己的库目录,在链接程序的过程中,LD_LIBRARY_PATH的优先级是高于系统默认的,如 /usr/lib的目录,这样的话,编译好之后,使用的动态库应该就是我们自己的了。可以用ldd命令确认一下。

LD_LIBRARY_PATH=/home/godpig/study/gdbm/lib:${LD_LIBRARY_PATH}

在控制台中执行这个命令,可以只在当前控制台中生效,关了控制台之后,这个LD_LIBRARY_PATH又恢复成以前的了。


emacs 配置

http://www.adamjiang.com/blog/archives/622


PATH=$PATH:/new/dir

临时增加环境变量的方法

你可能感兴趣的:(linux,gcc,Path,emacs,library,gtk)