`
jamesfork
  • 浏览: 32757 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
社区版块
存档分类
最新评论

unix下动态库编译

阅读更多
1 UnixWare 
SCO 编译器创建 PIC 的标志是-KPIC GCC 是 -fpic. 链接共享库时 SCO 编译器用 -G 而 GCC 用-shared. 

cc -c foo.c
cc -G -o foo.so foo.o
cc -K PIC -g -o testso calllib.c

or 

gcc -fpic -c foo.c
gcc -shared -o foo.so foo.o

linux 下编译动态库
gcc -fpic -c so.c
gcc -shared -o so.so so.o
gcc -o testso -ldl


编译带动态库函数的可执行程序时,如果所需要的动态库不在系统路径下,则在链接时必须使用绝对路径

2 informix 编译成动态库
  2.1 esql -c demo.ec
  2.2 cc -K PIC -c demo.c -I/usr/informix/incl/esql
  2.3 cc -G -o demoso.so demo.o
  使用范例:esql -o demotest demotest.c demo.so
分享到:
评论

相关推荐

    openssl 1.0 编译好的 动态库和静态库

    "最新版的 openssl 1.0,编译好的静态库和动态库" 提供的预编译库文件,对于开发者来说,可以节省在本地编译的时间和资源,方便快速地集成到项目中。尤其是对于不熟悉编译流程或者环境配置复杂的用户,这是一个非常...

    Linux和Unix下的动态库和静态库编写方法

    总的来说,理解和掌握Linux和Unix下的静态库和动态库的创建和使用方法,对于进行系统级编程和软件开发至关重要。正确选择和管理库可以帮助优化程序性能,减少资源消耗,同时提高代码的复用性和维护性。

    需链接动态库静态库,且需先编译库的makefile

    在本示例中,`make3`可能包含一个更复杂的`makefile`,它不仅编译静态库`libmystaticlib.a`和动态库,还处理它们的依赖文件。`makefile`的注释会指导用户理解每个部分的作用,以及如何根据自己的需求进行修改。 ...

    UNIX下的编译和链接原理讲解

    最后,链接程序(如ld)负责将编译产生的对象文件(.o或.obj)与其他库文件(如动态库或静态库)合并,生成最终的可执行文件。链接器会解决函数和变量的引用,确保所有必要的符号都被正确地解析和定位。 在UNIX环境...

    QNX系统中添加自己编译的.so库.zip_QNX .so文件_SO打包_qnx文件_qnx系统g++编译_so库

    与静态库(.a文件)不同,动态库不会被编译进可执行文件,而是运行时按需加载,这有助于减少程序的内存占用和启动时间。 在QNX系统中,使用g++编译器来创建.so库。以下是基本步骤: 1. **编写源代码**:使用C++...

    DCMTK库编译与在QT中的使用

    4. **编译**:配置完成后,使用`make`命令(或者在Windows下使用MSBuild或Ninja)进行编译。 5. **安装**:编译成功后,使用`make install`命令将DCMTK库安装到系统路径或者指定的目录。 接下来是将编译好的DCMTK...

    windows上自己编译的最新的ffmpeg库

    这个压缩包提供了用户自己在Windows环境下编译的最新版FFmpeg库,包括了头文件、动态库和静态库,确保了在特定系统下的稳定性和兼容性。 首先,我们要理解FFmpeg库的基本构成。FFmpeg主要由libavcodec(编码器库)...

    c++ qt 动态库生成和调用

    - Windows上的动态库通常需要编译为特定的CPU架构(如x86或x64),而Unix-like系统支持使用`libffi`等工具进行跨架构调用。 - Linux和macOS支持版本号和ABI兼容性,需注意库版本更新对应用程序的影响。 6. **调试...

    qt5.5.7编译出的opencv310动态库

    本文将详细解析如何使用Qt5.5.7和CMake 3.4.1来编译针对Windows 32位系统的OpenCV 3.1.0动态库,以及该过程中的关键知识点。 首先,`Qt5.5.7`是Qt公司推出的一个版本,它是一个流行的开源框架,用于创建图形用户...

    【cmake实战十】c++从动态库(dll)导出类

    动态库与静态库(.lib)不同,静态库在编译时会被直接合并到目标程序中,而动态库则是在程序运行时动态加载的。DLL可以减少程序的大小,因为多个程序可以共享同一份库的代码。C++从DLL导出类涉及到两个主要步骤:...

    静态库和动态库的使用

    在计算机编程领域,静态库和动态库是两种不同的库文件类型,它们在程序开发和运行时扮演着重要的角色。理解并正确使用这两种库是每个软件开发者必须掌握的基础知识。 首先,我们来了解一下静态库。静态库(Static ...

    C语言动态库SO.pdf

    在不同的Unix系统中,编译PIC型.o文件和链接动态库的方法有一些区别。例如,在Sco和Solaris系列中,可以使用cc的“-KPIC”选项生成PIC中间文件,再通过cc的“-G”选项链接成动态库。在HP-UNIX系列中,创建PIC中间...

    动态库全-实例.rar

    3. **编译和链接教程**:指导如何在不同的操作系统下编译和链接动态库,包括设置链接器选项和解决依赖问题。 4. **测试程序**:用于验证动态库功能的示例程序,可以帮助学习者理解动态库的实际工作方式。 5. **平台...

    zmq编译库 ,源码4.3.2

    在本文中,我们将深入探讨zeromq的编译库,特别是针对x64架构的动态库版本,即libzmq。在源码版本4.3.2中,zeromq引入了多项改进和新特性,使得它更适合于高性能分布式系统中的通信需求。 首先,让我们了解zeromq的...

    mac os x将C文件编译成.so库

    在Mac OS X系统中,将C语言源代码编译成动态库(.so库)是开发者经常遇到的任务,尤其在跨平台开发或者与Unity等游戏引擎集成时。本篇文章将详细讲解如何在Mac环境下,利用GCC编译器将C文件转化为适用于Unix-like...

    C/C++ 动态库嵌套调用源代码文件

    在Windows系统中,动态库通常以.dll文件形式存在,而在Linux或Unix系统中则是.so(Shared Object)文件。创建动态库涉及编译和链接两个阶段。在编译阶段,使用`-fPIC`选项生成位置无关代码,然后使用`-shared`选项...

    C语言动态库SO.doc

    3. 不同 Unix 系统下的动态库生成命令: * Sco 和 Solaris 系列:使用 cc 的“-KPIC”选项生成 PIC 中间文件,然后使用 cc 的“-G”选项链接成动态库。 * HP-UNIX 系列:使用 cc 的“+z”选项编译 PIC 中间文件,...

    UNIX系统开发-静态库和动态库的建立.doc

    在UNIX系统中,为了提高代码复用率和程序的维护性,开发人员常常需要创建静态库和动态库。本文将详细介绍这两种库的建立过程及其特点。 首先,让我们来看静态库的建立。静态库,又称档案库,是一个包含了多个目标...

    一个动态库

    在Windows环境下,动态库通常以.dll文件形式存在,而在Linux或macOS等类Unix系统中,它们是.so(共享对象)或.dylib文件。"zlib-1.2.3.exe"可能是Windows上的一个安装程序,用于部署zlib库到用户的系统路径,使得...

    静态库和动态库_共享库

    动态库文件可以被多个程序共享,节省内存资源,并且允许在不重新编译程序的情况下更新库。例如,.dll文件还可能有其他格式,如.ocx,主要用于ActiveX控件。使用动态库时,必须确保系统中存在对应的库文件,并且程序...

Global site tag (gtag.js) - Google Analytics