美文网首页
二.gcc 编译链接C文件并使用动态库

二.gcc 编译链接C文件并使用动态库

作者: 真胖大海 | 来源:发表于2020-03-09 11:44 被阅读0次

参考 Linux编程练习(二)—— Linux下.so动态库的建立和调用

1.假设我们有一个动态库libHello.so还有它的头文件hello.h
我们在test.h中使用libHello.c的printhello方法

#include "hello.h"
int main()
{
    printhello();
    return 0;
}

libHello.so,hello.h,test.c 在一个文件夹

  1. 编译和连接

gcc test.c -I`pwd` -L. -lHello -o test

  • -I:表示头文件所在的目录,-Ipwd 表示要连接的头文件在当前目录;

  • -L:表示链接库所在的目录,-L.表示要连接的库在当前目录中;

  • -l:表示要链接的库的名字,-lHello 表示链接库的名字为libHello.so,或者libHello.a,或者(即:libHello.so)。

最后生产可执行文件test

3.执行test文件
./test

相关文章

  • 二.gcc 编译链接C文件并使用动态库

    参考 Linux编程练习(二)—— Linux下.so动态库的建立和调用 1.假设我们有一个动态库libHello...

  • 编译dll动态库

    1.使用C文件编译动态dll库: gcc -Wall -shared main.c -o main.dll 或者 ...

  • 六.打包so库

    一.使用gcc打包so 将文件Hello.c编译成一个动态库:libHello.so,执行命令如下: $ gcc ...

  • C的编译过程

    预编译、编译、汇编、链接 a、预编译将.c 文件转化成 .i文件使用的gcc命令是:gcc –E对应于预处理命令c...

  • CGO问题和解决方案

    1、当go程序中使用了由c/c++等外部库文件或依赖,则go编译需要将cgo开启,并使用gcc进行编译 、如使用了...

  • Linux C 编程基础

    1、gcc编译过程 基本命令: 2、编译文件 3、静态链接库 (1) 首先用-c编译各个单源文件.c生成.o文件 ...

  • macOS使用python调用C函数

    操作系统: macOS 10.13.6 先写一个简单的C语言函数 使用gcc将其编译为动态链接库 得到libadd...

  • c++编程

    1.mac下编译.cpp文件报错 gcc 开启使用标准c++库即可 比如: gcc -lstdc++ Person...

  • 2018-09-30制作动态库和静态库

    c文件 main.c 动态库: 1. gcc -fPIC -c main.c 2.gcc -shared -...

  • makefile-动态链接库(*.so)

    目录文件 hello.c hello.h 生成动态链接库libhello.so main.c 内容 使用动态链接库...

网友评论

      本文标题:二.gcc 编译链接C文件并使用动态库

      本文链接:https://www.haomeiwen.com/subject/yfbudhtx.html