易截截图软件、单文件、免安装、纯绿色、仅160KB

Linux操作系统的头文件和库文件搜索路径

一、 头文件 1 “”中的头文件,在源文件当前目录查找 2 -I 中指定目录 3 gcc的环境变量 C_INCLUDE_PATH, CPLUS_INCLUDE_PATH, OBJC_INCLUDE_PATH 4 编译器预设路径、内定目录: /usr/include /usr/local/include /usr/lib/gcc-lib/i386-linux/2.95.2/include /usr/lib/gcc-lib/i386-linux/2.95.2/../../../../include/g -3 /usr/lib/gcc-lib/i386-linux/2.95.2/../../../../i386-linux/include 但是假如装gcc的时候,有给定的prefix的话,那么就是 /usr/include prefix/include prefix/xxx-xxx-xxx-gnulibc/include prefix/lib/gcc-lib/xxxx-xxx-xxx-gnulibc/2.8.1/include 此外-I还可以在CFLAG中指定。 还可用pkg-config 程序,用来在编译脚本中向编译器传递头文件包含路径或库文件路径。 Linux下那么多库,在./configure时时怎么判断它们存不存在的,难道是靠递归搜索?pkg-config这个命令和/*/lib/pkgconfig下的一些.pc文件才是主角。每个.pc文件定义了库的名字、路径、编译选项等,比如glib-2.0.pc文件: prefix=/usr exec_prefix=${prefix}
libdir=/usr/lib
includedir=${prefix}/include glib_genmarshal=glib-genmarshal
gobject_query=gobject-query
glib_mkenums=glib-mkenums Name: Glib
Description: C Utilitiy Library
Version: 2.14.4
Libs: -L${libdir} -lglib-2.0
Cflags: -I${includedir}/glib-2.0 -I${libdir}/glib-2.0/include --cflags 参数可以给出在编译时所需要的选项,而 --libs 参数可以给出连接时的选项 configure到某个库的时候,pkg-config命令会首先去PKG_CONFIG_PATH定义好的路径下搜索库名字对应的.pc文件,找到了就行了,等会儿make的时候就可以通过正则表达式取出libs和cflags的值来使用。 配置 pkgconfig PKG_CONFIG_PATH 的缺省设置是 /lib/pkgconfig, /usr/lib/pkgconfig 和 /usr/local/lib/pkgconfig. 这些设置都是硬编码的,所以不用另外设置它们。 二、 库文件 Ø 编译的时候动态库的搜索路径: 1 gcc会去找-L 指定的路径和 –l指定的库 2 由'-rpath-link'选项指定的搜索路径 在LDFLAGS中gcc 的参数"-Wl,-rpath,"指定 3 由'-rpath'指定的搜索路径. '-rpath'跟'-rpath_link'的不同之处在于,由'-rpath'指定的路径被包含在可执行文件中,并在运行时使用, 而'-rpath-link'选项仅仅在连接时起作用. 4 再找内定目录 /lib


相关文档:

实战Linux Bluetooth编程(六) L2CAP编程实例

例一:发送Signaling Packet:
Signaling Command是2个Bluetooth实体之间的L2CAP层命令传输。所以得Signaling Command使用CID 0x0001.
多个Command可以在一个C-frame(control frame)中发送。
 如果要直接发送Signaling Command.需要建立SOCK_RAW类型的L2CAP连接Socket。这样才有机会自己填充Command Code,Identi ......

Linux 修改IP、DNS和路由配置

在Linux操作系统下修改IP、DNS和路由配置 
  ifconfig eth0 新ip
  然后编辑/etc/sysconfig/network-scripts/ifcfg-eth0,修改ip
  一、修改IP地址
  [aeolus@db1 network-scripts]$ vi ifcfg-eth0
  DEVICE=eth0
  ONBOOT=yes
  BOOTPROTO=static
  IPADDR=219.136.241.211
  NETMASK=255 ......

Anatomy of the Linux slab allocator

Anatomy of the Linux slab allocator
Learn how Linux manages memory
M. Tim Jones, Consultant Engineer, Emulex Corp.
M. Tim Jones is an embedded software architect and the author of GNU/Linux Application Programming, AI Application Programming, and BSD Sockets Programming from a Multilanguage Persp ......

linux网络配置

网卡的设置
见以前的文章
主机名的设置:
/etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=yes
HOSTNAME=a100                  ----->主机名
smb是Samba 的主要启动服务器,让其它机器能知道此机器共享了什么;
......

linux学习笔记 目录 命令

linux目录架构
/       根目录
/bin         常用的命令   binary   file   的目錄
/boot       存放系统启动时必须读取的档案,包括核心   (kernel) &nb ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号