`
fujinbing
  • 浏览: 237224 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

静态链接库和动态链接库

阅读更多
http://blog.csdn.net/fengyv/archive/2006/05/25/754030.aspx


一、静态链接库打包方式
   ar -rc  库名 编译文件
   ar -rc libtest.a  *.o

注意:输入是.o(编译文件),输出是.a(静态库文件)


二、动态链接库打包方式
    gcc -fpic -shared -o 库名  源代码文件
    gcc -fpic -shared -o libtest.so aa.c bb.c

注意:输入是.c(源码文件),输出是.so(动态库文件)

三、通过链接库打包
     
      使用链接库时,无论静态,还是动态,打包方法是一样。

   gcc -o output cc.o /tmp/libtest.so
   gcc -o output cc.o /tmp/libtest.a

四、gcc中的一些参数
   -I头文件目录
   -L链接库路径
   -l链接库名称

注意: 使用动态链接库时: 直接写全路径引入动态链接库 和 用-L,-l参数引入动态链接库,的区别: 1)使用前者,以后运行时,总去哪个路径加载链接库(若没有,则报错)。
          2)使用后者,以后运行时,可以通过LD_LIBRARY_PATH来指定路径
分享到:
评论

相关推荐

    C++ 静态链接库与动态链接库

    总结,C++的静态链接库和动态链接库都是代码重用的有效手段,它们在项目开发中扮演着重要的角色。理解它们的工作原理和选择合适的链接库类型,有助于优化程序性能、简化部署流程以及提高软件的可维护性。在实践中,...

    静态链接库与动态链接库的区别

    ### 静态链接库与动态链接库...静态链接库和动态链接库各有优缺点。静态库适合于那些不需要频繁更新的场景,而动态库则更适合于需要动态加载、易于更新和共享资源的情况。开发者应根据项目的具体需求选择合适的库类型。

    linux下静态链接库和动态链接库编译和使用[1].pdf

    在Linux系统中,静态链接库和动态链接库是两种主要的库类型,它们在软件开发中扮演着重要的角色。静态链接库(.a文件)和动态链接库(.so文件)的主要区别在于链接方式和内存占用。 静态链接库在编译时会被合并到...

    linux shell下的静态链接库和动态链接库实例(脚本).docx

    在Linux系统中,开发软件时我们常常会遇到静态链接库和动态链接库的概念。这两个库在程序编译和运行过程中起着至关重要的作用。这里,我们将深入探讨它们的区别以及如何在Linux Shell环境下创建和使用它们。 1. **...

    静态、动态链接库的创建和调用

    在现代软件开发中,为了代码复用和模块化设计,经常会用到静态链接库和动态链接库这两种形式的库。静态链接库在编译时期与应用程序链接,而动态链接库则在运行时期加载。 首先,我们来谈谈静态链接库。创建静态库的...

    Linux C静态链接库与动态链接库编程简单介绍

    在Linux系统中,C语言的库分为静态链接库和动态链接库两种类型,它们都是为了实现代码重用和模块化设计的重要工具。本篇文章将深入浅出地介绍这两种链接库的原理、创建方法以及如何在程序中使用。 一、静态链接库 ...

    静态链接库lib和动态链接库dll区别

    静态链接库和动态链接库的另外一个区别在于静态链接库中不能再包含其他的动态链接库或者静态库,而在动态链接库中还可以再包含其他的动态或静态链接库。 在静态链接库中,所有的指令都包含在最终生成的EXE文件中,...

    c++ 静态链接库动态链接库示例

    静态链接库和动态链接库是两种主要的链接库类型,它们各有优缺点,适用于不同的开发场景。本篇文章将详细探讨这两种链接库的概念、创建过程以及如何在C++项目中使用它们。 **静态链接库(Static Linking Library)*...

    静态链接库与动态链接库的制作与使用

    本文将详细介绍静态链接库和动态链接库的制作和使用,包括函数库的概念、静态链接库和动态链接库的定义、制作和使用方法,以及在实际开发中如何正确地使用静态链接库和动态链接库。 一、函数库的概念 函数库是一些...

    Linux下动态和静态链接库的使用

    在Linux系统中,链接库是实现程序功能复用的关键组件,分为静态链接库和动态链接库两种类型。本文主要探讨这两种库的创建、使用及其特点。 1. 静态函数库 静态库通常以`.a`为后缀,如`libxxx.a`。在编译过程中,...

    vc加载静态和动态链接库

    静态链接库和动态链接库是两种主要的链接库类型,它们在程序编译和运行时有不同的工作方式。本篇文章将深入探讨这两种链接库在MFC(Microsoft Foundation Classes)环境下的使用,并通过提供的代码实例来帮助理解。 ...

    linux静态链接库与动态链接库的区别及动态库的创建借鉴.pdf

    在 Linux 系统中,函数库的链接可以分为静态链接库和动态链接库两种。静态链接库是在编译时期完成的,所有相关的对象文件和函数库被链接合成一个可执行文件。程序在运行时,不再需要函数库的参与,因为所有需要的...

    linux静态链接库与动态链接库的区别及动态库的创建.pdf

    链接库主要分为两种类型:静态链接库和动态链接库。这两种库各有特点,适用于不同的场景,并且它们的创建和使用方式也有显著区别。 **静态链接库**,通常以`libxxx.a`为文件名后缀,它将库中的所有函数和数据合并到...

    静态链接库与动态链接库导出函数详解(本文系转载).pdf

    静态链接库和动态链接库都是共享代码的方式,静态链接库的优点是可以减少内存占用,但是它的缺点是更新时需要重新编译整个程序,而动态链接库的优点是可以动态地加载和卸载,但是它的缺点是需要更多的内存空间。...

    linux下如何生成使用静态和动态链接库

    链接库可以分为静态链接库和动态链接库两种,下面将详细介绍如何生成和使用这两种链接库。 一、静态链接库 静态链接库是指在编译时将库文件与目标文件链接在一起生成一个可执行文件的库。在 Linux 中,可以使用 ar...

    linux静态链接库与动态链接库的区别及动态库的创建参考.pdf

    链接库主要分为两种类型:静态链接库和动态链接库。 **静态链接库**(Static Library)是将库中的函数直接嵌入到目标程序中,形成一个独立的可执行文件。在编译时,编译器会将库中的函数代码复制到最终的可执行文件...

    静态链接库LIB和动态链接库DLL借鉴.pdf

    总的来说,静态链接库和动态链接库各有优缺点,选择使用哪一种取决于项目的具体需求,如程序的大小、共享代码的需求以及发布和维护的方便程度。静态链接库适合小型项目或者发布时不需要考虑库文件依赖的情况,而动态...

Global site tag (gtag.js) - Google Analytics