Chinaunix首页 | 论坛 | 博客
  • 博客访问: 87070
  • 博文数量: 19
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 281
  • 用 户 组: 普通用户
  • 注册时间: 2013-08-07 14:42
个人简介

业精于勤,荒于嬉;凡事用心,事事皆成。

文章分类

全部博文(19)

文章存档

2017年(1)

2016年(9)

2015年(2)

2014年(2)

2013年(5)

我的朋友

分类: C/C++

2015-08-31 22:45:20

一、常用编译命令:
     gcc -c :  -c选项的作用是阻止编译器创建一个完整的程序,生成.o文件。
     gcc -o:   -o选项的作用是链接目标.o的文件为一个可执行的文件。
    1.创建库文件:
       ar:将若干个单独的文件归并到一个大的文件中以创建归档文件或集合。可以用ar程序来创建任何类型文件的归档文件。
-------$ar crv libfoo.a bill.o fred.o
        a - bill.o
        a- fred.o
        生成了libfoo.a库文件。
-------$ranlib libfoo.a   #为函数库生产一个内容表。
    2.共享库的链接方式:
      程序本身不再包含函数代码,而是引用运行时可以访问的共享代码。当编译好的程序被加载到内存中执行时,函数引用被解析并产生对共享库的调用,如果有必要,共享库才被加载到内存中。
   3.查看库中的函数:
-------$nm libfoo.a
   4.查看一个程序需要的共享库。
-------$ldd program
         linux-gate.so.1 =>  (0xb7729000)
          libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb755b000)
          /lib/ld-linux.so.2 (0xb772a000)
        末尾的数字表示的是主版本号。
   5.共享库:linux与windows库的区别
      .so库对应于.DLL 在程序运行时加载。
      .a 库类似于 .LIB 静态库。
      


阅读(791) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~