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

LINUX 静态库和动态库


       库有动态与静态两种,动态通常用.so为后缀,静态用.a为后缀。例如:libhello.so libhello.a
1,生成库
      第一步要把源代码编绎成目标代码。以下面的代码为例,生成上面用到的hello库:
        /* hello.c */
      
#include
      
void sayhello()
     
{
            
printf("hello,world\n");
      }
    
用gcc编绎该文件,在编绎时可以使用任何全法的编绎参数,例如-g加入调试代码等:
             gcc -c hello.c -o hello.o
1).连接成静态库
         现在我们创建libhello静态库文件:
         $ gcc -c libhello -o libhello.o
         $ ar rcs libhello.a libhello.o  
         其中ar中的rcs的意思是: r表明将模块
加入到静态库中,c表示创建静态库,s表示生产索引。
2).连接成动态库
        
gcc    -fpic/fPIC -c source.c -o source.o
            gcc -shared -Wl,-soname,your_soname -o library_name file_list library_list
           说明: 
               -fpic或者-fPIC表明创建position independent code,这通常是创建共享库必须的。
               -Wl 表明给链接器传送参数,所以这里-soname, library_name 为给链接器的参数。
               -shared 表明是使用共享库
          下面是使用a.c和b.c创建共享库的示例:
           gcc -fPIC -g -c -Wall a


相关文档:

Linux busybox小问题的解决

编译并安装Busybox 1.15.3到L inux2.6.11.1,启动系统
进入shell 提示:  ./ash : can't access tty; job control turned off.
分析发现
 /etc/inittab文件中有一行:
     ::askfirst:/bin/ash
   这在busybox 1.2.1运行正常
修改为
  tty1::askfirst:/bin/ash
后正常. ......

Linux之uptime、top命令


在Linux系统中,uptime、top等命令判断一个系统的负载。load average分别记录了1、5、15分钟的系统平均负载。
load average 对 performance 的影响?
1. 如果load average/CPU数量 < 3, performance is good
2. 如果load average/CPU数量 > 5, performance is very bad
  ......

linux .o a .so .la .lo的区别

o: 编译的目标文件
-X/S3fm'SH]X0
a:
静态库,其实就是把若干o文件打了个包
k
z3noU V
pR0
so: 动态链接库(共享库)中国电子顶级开发网----最专业的电
子论坛、最专业的电子工程师博客L&??,z4i&G&G&S
V
r0^mk zF5o"xC1c0
lo:
使用libtool编译出的目标文件,其实就是在o ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号