易截截图软件、单文件、免安装、纯绿色、仅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 C编程中使用Unicode和UTF 8

在Linux C编程中使用Unicode和UTF-8
目前各种Linux发行版都支持UTF-8编码,当前系统的语言和字符编码设置保存在一些环境变量中,可以通过locale命令查看:
$ locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US ......

Linux 的元旦大礼包:Zorin OS 2.0






<!--
@page { margin: 2cm }
P { margin-bottom: 0.21cm }
-->
        走进
Linux
大观园,人们就像刘姥姥进城,啥都感到很新鲜。今年元旦,
Linux
国际社区给人们献上一份元旦大礼包:
Zorin
OS 2.0
。这有什么好说的?
 
  & ......

实用技巧:Linux系统下文件权限设置方法

  Windows系统其实和Linux系统有相似的地方,Windows系统文件、目录的属性有只读、隐藏,而Linux也一样。 Linux中,每一个文件都具有特定的属性。主要包括文件类型和文件权限两个方面。可以分为5种不同的类型:普通文件、目录文件、链接文件、设备文件和管道文件。 所谓的文件权限,是指对文件的访问权限,包括对 ......

linux软件开发工程师教程

会员下载:­
­
http://vipdown.3800hk.com/jiaocheng/linux/linux/@LinkGate@12403487266409x1196776239x12403488007143-5740071909166dc778c8b9deb5c6b4cc@LK@/01.rar­
­
http://vipdown.3800hk.com/jiaocheng/linux/linux/@LinkGate@12403487266409x1196776239x12403488007143-177072d80fd416c4134c7 ......

修改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号