创建动态链接库

  1. 创建共享库源文件 math.c

    int add(int a, int b) {return a + b;
    }
    
  2. 创建共享库头文件 math.h

    int add(int a, int b);
    
  3. 编译动态链接库:

    gcc -shared -fPIC math.c -o libmath.so
    
    • -shared:共享对象(shared object),是 Linux 下对动态库的另一种称谓
    • -fPIC:Position Independent Code,
  4. 编辑主程序源文件 main.c

    #include <stdio.h>
    #include "math.h"int main() {printf("add(1, 2) returned %d\n", add(1, 2))
    }
    
  5. 编译主程序:

    gcc main.c -lmath -L. -o main
    
    • -lmath-l 选项用来指定动态链接库,这里指定了 math 库(前缀 lib 和后缀 .so 被省略)
    • -L.-L 选项用来指定查找动态链接库的位置,这里指定了当前目录 .
  6. 执行主程序:

    LD_LIBRARY_PATH="$(pwd)" ./main
    
    • LD_LIBRARY_PATH:指定运行程序时查找动态链接库的路径

参见:动态链接库(dll)是如何工作的?| 小红书

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/893749.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

React—11—redux

一、redux概念 ◼ JavaScript开发的应用程序,已经变得越来越复杂了:  JavaScript需要管理的状态越来越多,越来越复杂;  这些状态包括服务器返回的数据、缓存数据、用户操作产生的数据等等,也包括一些UI的状态,比如某些元素是否被选中,是否显示 加载动效,当前分页;…

ENSP中路由配置实验(静态路由、NAT转换、项目实例搭建)

一、实验一:静态路由配置 现在管理员拥有这三个路由的控制权 1、要求使得三个局域网下的主机能够互相访问,具体地址分配见下图2、操作遇到一个插曲,启动路由器时报40号错误,查阅官方技术文档进行自检修复无果 最后终于找到一个解决方案,来自哔哩哔哩视频下的某个评论 其实是…

欢迎屏幕和新的用户帐户设置;当前用户、欢迎屏幕(系统帐户)和新用户帐户的设置;注册表位置

欢迎屏幕和新的用户帐户设置下面显示的是当前用户、欢迎屏幕(系统帐户)和新用户帐户的设置(S)。当前用户显示语言:中文(简体)输入语言:简体中文(中国大陆)-微软拼音格式:简体中文(中国大陆)位置:中国欢迎屏幕显示语言:中文(简体)输入语言:简体中文(中国大陆)-微软拼音格…

Codeforces Round 757 (Div. 2)

我不知道为什么要补这一个远古场,但是确实里面几道题有点意思。C. Divan and bitwise operations 显然,我们可以得到整个序列的按位或就是所有 \(x\) 的按位或,设为 \(S\)。 如果 \(S\) 的第 \(i\) 位为 \(0\),贡献即为 \(0\)。 否则总有一个 \(1\),当中恰有一个对应贡献为…

[AI/GPT/LLOps/AI中台] Dify : 开源AI大模型应用开发平台(Apache 2.0)

概述:DifyDify 是一款开源的大语言模型(LLM) 应用开发平台。它融合了后端即服务(Backend as Service)和 LLMOps 的理念,使开发者可以快速搭建生产级的生成式 AI 应用。 即使你是非技术人员,也能参与到 AI 应用的定义和数据运营过程中。 由于 Dify 内置了构建 LLM 应用所需…

[AI/GPT] Dify : 开源AI大模型可视化终端应用(Apache 2.0)

概述:DifyDify 是一款开源的大语言模型(LLM) 应用开发平台。它融合了后端即服务(Backend as Service)和 LLMOps 的理念,使开发者可以快速搭建生产级的生成式 AI 应用。 即使你是非技术人员,也能参与到 AI 应用的定义和数据运营过程中。 由于 Dify 内置了构建 LLM 应用所需…

在时光的褶皱里种一株月光

少年哇,你能同时拥有青春和对青春的感受吗?——欲买桂花同载酒,终不似,少年游!晨露未晞时,凝视窗台上的水痕,那些蜿蜒的纹路像极了未被解码的生命线。某个起雾的清晨突然懂得,人生原是时光长河里的倒影——我们总在追逐波光粼粼的远方,却不知每一道涟漪的褶皱里,都藏…

Jenkins 自动化搭建测试环境

安装 Jenkins 下载地址:https://www.jenkins.io/zh/ 博主服务器是jdk1.8,需要安装 2.346.1 或之前版本。下载war包即可。启动 Jenkins: java -jar jenkins.war --httpPort=8080启动成功后访问 http://localhost:8080/查看并输入密码文件中的管理员密码可以安装推荐的插件,更…

一文讲透 AI Agent 与 AI Workflow

一、引言 在人工智能技术快速迭代的今天,我们正见证着 AI 应用模式的多元化发展。 其中,AI Agent 和 AI Workflow 作为两种截然不同的范式,正在重塑我们对 AI 应用的认知。 这两种模式就像是同一枚硬币的两面 —— 一个追求灵活创新,另一个注重稳定高效。 今天正好在群里有…

postman上传图片的base64

不要添加前缀 控制器和类@PostMapping("text-only")public List<TextDto> ocrTextOnly(@RequestBody OcrParam ocrParam) {//TODOreturn ocrapiService.ocrText(ocrParam.getImgBase64(),ocrParam.getImgType());}@Data @NoArgsConstructor @AllArgsConstructo…

关于从化0你想知道的都在这里

https://xsjcloud.com V*x:gzydc0 先上AI: 广州移动的从化0月租卡,即“神州行大众卡”,以其0月租、接听免费的特点受到关注。然而,根据现有信息,该套餐已下架,成为绝版。目前,办理此套餐需要通过特定渠道,且需在广州润粤营业厅激活号码。优点:无月租费用:真正实现0月…

当懒惰遇上AI:我如何用Coze让大模型帮我整理2.5万字课程笔记

能写代码绝不动手,能用AI绝不写代码 —— AI粉嫩特攻队信条通过本文学会打造这个AI工具,只有一个要求:识字且会上网! 一个小困扰 有朋友最近在上一位大佬的线上直播课程,感叹道: "老师讲得很好但节奏太快,根本来不及记录详细笔记,只能速记要点。课后想不起完整内容又…