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

Linux 静态与动态链接库

文章选取的例子非常简单,上手容易,只是为了讲述静态与动态链接库的生成和链接过
    程,还有他们之间的区别。以下例子在 gcc 4.1.1 下顺利通过。 
文件预览
文件目录树如下,如你所见,非常简单。
libtest/  
|-- lt.c  
|-- lt.h  
`-- test.c  
代码
#lt.c
/* lt.c 
 * 
 */  
  
#include <stdio.h>  
  
void myprint(void)  
{  
  printf("Linux library test!\n");  
}  
# lt.h
/* lt.h 
 *  
 */  
  
void myprint(void);  
#test.c
/* test.c 
 * 
 */  
  
#include "lt.h"  
  
int main(void)  
{  
  myprint();  
  return 0;  
}  
先看静态库
首先做成静态库 liblt.a 。
$ gcc -c lt.c -o lt.o  
$ ar cqs liblt.a lt.o  
再者,链接,这里指定了静态库的位置,注意文件顺序不可乱序。
$ gcc test.o liblt.a -o test  
这个时候再来看他的引用库情况。
$ ldd test  
        linux-gate.so.1 =>  (0xffffe000)  
        libc.so.6 => /lib/libc.so.6 (0xb7e29000)  
        /lib/ld-linux.so.2 (0xb7f6e000)  
动态库
做成动态库 liblt.so 。
$ gcc -c lt.c -o lt.o  
$ gcc -shared -Wall -fPIC lt.o -o liblt.so  
链接方法I,拷贝到系统库里再链接,让gcc自己查找
$ sudo cp liblt.so /usr/lib  
$ gcc -o test test.o -llt  


相关文档:

实战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 ......

8个最好的Linux平台商业智能(BI)软件

商业智能工具是从不同类型的数据源中挖掘数据,用来设计和产生报表。商业智能软件类型也很多,包括报表和查询软件,数字仪表盘,处理和数据挖掘,经营绩效
管理以及电子数据表等。一般一个商业智能平台包括三个层面:数据层,商业智能层,分析/绩效管理层。本文将介绍8个最好的Linux平台下商业智能软件:
Pentaho:提供企 ......

Linux的第一个进程:init(1)


引自:http://server.it168.com/a2009/0309/267/000000267918.shtml
4.1.7 Linux的第一个进程:init(1)
init是Linux系统执行的第一个进程,进程ID为1,是系统所有进程的起点,主要用来执行一些开机初始化脚本和监视进程。Linux系统在完成内核引导以后就开始运行init程序,init程序需要读取配置文件/etc/inittab。init ......

linux程序员面试题目


一.填空题:
1. 在Linux系统中,以文件方式访问设备 。
2. Linux内核引导时,从文件/etc/fstab中读取要加载的文件系统。
3. Linux文件系统中每个文件用i节点来标识。
4. 全部磁盘块由四个部分组成,分别为引导块 、专用块 、 i节点表块 和存储块数据。
5. 链接分为:硬链接 和 符号链接。
6. 超级块包含了i节点表 ......

修改linux启动参数挽回/etc/inittab文件

最近做linux系统裁剪,修改嵌入式系统的inittab文件时误将本机inittab文件修改。
reboot后出现
INIT: /etc/inittab[2]: missing id field
INIT: /etc/inittab[3]: missing id field.
Enterrunlevel:
输入3,或1,或singgle后出现
INIT: no more processess left in this runlevel
系统停止。
google,baidu到一篇引 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号