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

linux下编程学习--- 静态库和动态库的编译

阅读更多

 

学习linux下c很长一段对动态库和静态库的编译和使用总是透着雾水,今天看了一本书《Linux程序设计第2版》,总算弄清楚了,所谓库文件是预先编译好的函数集合,函数库一般分为静态和共享两种格式。

静态库:静态库也叫档案(archive),他们的名字都按管理 *.a 命名,其实说白了,所谓的静态库也就是被归档的
          二进制目标代码文件,当要使用时,就用include 来包含该库的头文件即可,当然如果不是标准库,要指名路径,用”-l“ 指名,自己建立静态库,用归档命令”ar“ 即可,例如”ar crv  test.a  test1.o test2.o“

动态库:动态库也叫共享库,系统存放的位置和静态库是一个地方,不通的是后缀名不一样,以”.so“结尾,
               如果一个程序使用动态库,则该程序本身不包含调用的函数代码,只包含调用的线索,只是在程序需要调
              用时才去调用动态库。这也就是所谓”动态“的含义吧。
  

分享到:
评论

相关推荐

    linux网络编程-宋敬彬-part3

    第2章 Linux编程环境 14 2.1 Linux环境下的编辑器 14 2.1.1 vim使用简介 14 2.1.2 使用vim建立文件 15 2.1.3 使用vim编辑文本 16 2.1.4 vim的格式设置 18 2.1.5 vim配置文件.vimrc 19 2.1.6 使用其他...

    linux网络编程-宋敬彬-part2

    第2章 Linux编程环境 14 2.1 Linux环境下的编辑器 14 2.1.1 vim使用简介 14 2.1.2 使用vim建立文件 15 2.1.3 使用vim编辑文本 16 2.1.4 vim的格式设置 18 2.1.5 vim配置文件.vimrc 19 2.1.6 使用其他...

    gcc生成静态库和动态库

    函数库分为静态库和动态库两种。 静态库在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库。动态库在程序编译时并不会被连接到目标代码中,而是在程序运行是才被载入,因此在程序运行时还需要动态库...

    linux网络编程-宋敬彬-part1

    第2章 Linux编程环境 14 2.1 Linux环境下的编辑器 14 2.1.1 vim使用简介 14 2.1.2 使用vim建立文件 15 2.1.3 使用vim编辑文本 16 2.1.4 vim的格式设置 18 2.1.5 vim配置文件.vimrc 19 2.1.6 使用其他...

    linux基础学习+进程+信号+线程+线程锁+进程锁+信号量+网络socket套接字编程

    ①Linux基础学习:文件类命令、压缩命令、进程命令、服务器搭建、用户管理、vim学习、gcc/g++编译、linux静态库/动态库、gdb学习、makefile基础学习、C语言文件操作类函数、C语言目录操作函数等; ②linux系统编程...

    Linux下的StanfordCPPLib(含动态库和静态库)

    斯坦福大学的C++开源类库,已打包成Linux下的链接库。适用于教材《C++程序设计 基础、编程抽象与算法策略》,内附使用说明。

    Linux多线程服务端编程:使用muduo C++网络库

    《Linux多线程服务端编程:使用muduo C++网络库》主要讲述采用现代C++在x86-64 Linux上编写多线程TCP网络服务程序的主流常规技术,重点讲解一种适应性较强的多线程服务器的编程模型,即one loop per thread。...

    虚拟化--docker.ctb

    • 容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。 • 仓库...

    Linux网络编程

    主要讲解在Linux操作系统上,如何进行网络编程。同时设计到Linux系统的基础知识、编译、动态库、静态库等知识

    易语言程序免安装版下载

     支持静态链接其它编程语言(如C/C++、汇编等)编译生成的静态库(.LIB或.OBJ),但仅限于COFF格式,支持cdecl和stdcall两种函数调用约定。  使用说明如下:函数声明和调用方法与DLL命令一致;“库文件名”以.lib...

    ZThread源文件及Window下编译生成的文件

    ZThread的最新源文件及自己编译生成的静态库文件,动态库文件,可以直接用来进行C++的并发编程,也可以自己编译,Windows及Linux的编译方法见http://blog.csdn.net/lanbing510/article/details/8441258

    学会在Linux上编译调试C++项目

    本课程主要针对没有或者很少写过linux上C++程序的同学, 本课程会教你如何从0基础开始,安装配置ubuntu虚拟机、使用GCC编译普通程序、动态库、静态库,编写复杂项目配置文件makefile,使用GDB工具调试C++程序。

    基于SIP开发软件电话的一些资源(转自YOUTOO)

    osipparser2.lib引用我们之前成功编译得到的静态库文件)就可以运行(带参数运行,参数一般为一个文本文件,同样从Test目录的res目录里拷一个与源文件同名的纯文本文件到工程目录下即可)。 该目录下的若干文件基本...

    linux网路编程 中文 23M 版

    第2 章Linux编程环境....................................................................................................14 2.1 Linux环境下的编辑器................................................. 14 ...

    linux系统概论实验报告

    1, 嵌入式系统搭建 2,静态库和动态库. 3,Shell编程 4,Makefile 5,内核定制和内核编译 6,Framebuffer进行arm图像制作

    jdk-8u202-linux-x64版本.rpm

    JDK还包括用于开发和调试Java应用程序的各种库和工具。 Java是一门面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。...

    jdk-8u351-linux-x64.zip

    JDK还包括用于开发和调试Java应用程序的各种库和工具。 Java是一门面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。...

    第二次学习总结-多线程多进程学习.docx

    刚接触linux的多线程编程,总结基础知识并编写socket通信的多线程多进程代码,已经验证可行,包括共享队列、套接字、循环队列、Makefile编写、动态库静态库编译和使用等。具体代码请看多线程多进程的事例分享。

    SCON工具源码

    SharedLibrary: 在 POSIX 系统上编译动态链接库,在 Windows 平台上编译 DLL。 这个简单的 SConstruct 的配置文件从一个侧面说明了使用 SCons 来建造程序是多么的简单。 在实际的项目开发中,程序的建造规则远比 ...

    C语言嵌入式Linux编程第3期:程序的编译、链接和运行

    同时对静态库链接、动态链接的过程、插件原理、内核模块运行机进行探讨,后对嵌入式系统比较难理解的u-boot重定位、u-boot加载内核、内核解压缩、重定位过程进行分析,加深对程序的编译链接原理的理解。

Global site tag (gtag.js) - Google Analytics