C语言自定义库
- 编写 xx.c 和xx.h文件\
- 将源代码编译为目标文件 gcc -c add.c sub.c 执行完毕后会生产add.o和sub.o文件
- 静态库创建使用ar命令;
ar -r libmymath.a add.o sub.o - 将库和main.c文件一起编译 gcc -o main main.c -lmymath -L./
注意 上述书写格式不要错乱 -L 是指定文件路径

#include"add.h"
int add(int a,int b)
{return a+b;
}
//add.h"
#ifndef C_ADD_H
#define C_ADD_H
int add(int a,int b);
#endif//sub.c
#include"stdio.h"
int sub(int a,int b)
{return a-b;
}//sub.h
#include"stdio.h"
int sub(int a,int b)
{return a-b;
}
//main
#include"stdio.h"
#include"add.h"
#include"sub.h"int main()
{int a=20,b=10;int c;c = add(a,b);printf("%d\n",c);return 0;
}
动态库制作
- 动态库对应的源文件 “test_lib.c”
- 动态库对应的头文件 “test_lib.h”
gcc test_lib.c -fPIC -shared -o libtest.so说明: -fPIC :表示生成位置无关代码(PIC:Position Independent Code)-shared : 表示创建生成动态共享库gcc test_bin1.c -L. -ltest -o test1说明:编译的时候指定了libtest.so(上述编译好的动态库)
//test_lib.c
#include "stdio.h"void test_print(void) {printf("======= This is a test line.\n");return;
}//test_lib.h
#ifndef __TEST_H
#define __TEST_H
void test_print(void);
#endif相关文章:
C语言自定义库
编写 xx.c 和xx.h文件\将源代码编译为目标文件 gcc -c add.c sub.c 执行完毕后会生产add.o和sub.o文件静态库创建使用ar命令; ar -r libmymath.a add.o sub.o将库和main.c文件一起编译 gcc -o main main.c -lmymath -L./ 注意 上述书写格式不要错乱 -L 是指定文件路…...
目标检测常见数据集格式(YOLO、VOC、COCO)
目录 1.YOLO格式数据 1.1数据格式 1.2YOLO格式数据示例 1.3YOLO格式可视化 2.COCO数据格式 2.1数据格式 2.2COCO格式数据示例 2.3COCO格式可视化 3.VOC数据格式 3.1数据格式 3.2VOC格式数据示例 3.3COCO格式可视化 🍓🍓1.YOLO格式数据 &…...
搭建 es 集群
一、VMware准备机器 首先准备三台机器 这里我直接使用 VMware 构建三个虚拟机 都是基于 CentOS7 然后创建新用户 部署 es 需要单独创建一个用户,我这里在构建虚拟机的时候直接创建好了 然后将安装包上传 可以使用 rz 命令上传,也可以使用工具上传 工…...
Android弹出通知
发现把Android通知渠道的重要性设置为最高时,当发送通知时,通知能直接弹出来显示,以前一直搞不明白为什么别的app的通知可以弹出来,我的不行,搞了半天原来是这个属性在作怪,示例如下: class Ma…...
如何用 UDP 实现可靠传输?并以LabVIEW为例进行说明
UDP(用户数据报协议)本身是一个无连接的、不可靠的传输协议,它不提供数据包的到达确认、排序保证或重传机制。因此,如果要在UDP上实现可靠传输,就需要在应用层引入额外的机制。以下是一些常见的方法: 确认和…...
【任职资格】某大型商业金融银行任职资格体系搭建项目纪实
【客户背景】某大型商业金融银行位于南方某省,成立于上个世纪九十年代,是一家具有独立法人资格的股份制商业银行,经过多年发展,下辖20多家分行,近200多个营业网点,并于21世纪初成功上市,规模不断…...
如何利用IP地址分析风险和保障网络安全
随着网络攻击的不断增加和演变,保障网络安全已经成为了企业和组织不可忽视的重要任务。在这样的背景下,利用IP地址分析风险和建立IP风险画像标签成为了一种有效的手段。本文将深入探讨IP风险画像标签的作用以及如何利用它来保障网络安全。 IP风险画像查…...
轧钢自动化中的智能仪器:监控、控制和优化新视角
摘要:轧钢自动化是现在及未来的发展趋势,而自动化的轧钢发展,更是离不开形形色色的智能仪器,本文来看看那些应用于轧钢生产中的测量仪。 关键词:智能仪器,在线测量仪,测径仪,测宽仪,测厚仪,测长仪,工业数据分析采集软件…...
第十四届蓝桥杯省赛C++B组题解
考点 暴力枚举,搜索,数学,二分,前缀和,简单DP,优先队列,链表,LCA,树上差分 A 日期统计 暴力枚举: #include<bits/stdc.h> using namespace std; int …...
语音控制模块_雷龙发展
一 硬件原理 1,串口 uart串口控制模式,即异步传送收发器,通过其完成语音控制。 发送uart将来自cpu等控制设备的并行数据转换为串行形式,并将其串行发送到接收uart,接收uart然后将串行数据转换为接收数据接收设备的并行…...
idea 开发serlvet班级通讯录管理系统idea开发mysql数据库web结构计算机java编程layUI框架开发
一、源码特点 idea开发 java servlet 班级通讯录管理系统是一套完善的web设计系统mysql数据库 系统采用serlvetdaobean mvc 模式开发,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 servlet 班…...
Python高级语法
Python高级语 1 列表推导式1.1 什么是列表推导式1.2 列表推导式的使用 2 字典推导式2.1 什么是字典推导式2.2 字典推导式的使用 3 元组推导式4 集合推导式5 三元表达式5.1 什么是三元表达式5.2 三元表达式的使用 1 列表推导式 1.1 什么是列表推导式 列表推导式的英文…...
HTML5语义化元素
在HTML5之前,网站的分布层级有哪些呢? nav,header,main,footer 这样做有一个弊端 我们往往过多的使用div,通过ID或class来区分元素 对于浏览器来说这些元素不够语义化 对于我来说搜索引擎来说,不…...
Android 性能优化——APP启动优化
一、APP启动流程 首先在《Android系统和APP启动流程》中我们介绍了 APP 的启动流程,但都是 FW 层的流程,这里我们主要分析一下在 APP 中的启动流程。要了解 APP 层的启动流程,首先要了解 APP 启动的分类。 1、启动分类 冷启动 应用从头开始…...
计算机网络:TCP篇
计网tcp部分面试总结 tcp报文格式: 序列号:通过SYN传给接收端,当SYN为1,表示请求建立连接,且设置序列号初值,后面没法送一次数据,就累加数据大小,保证包有序。 确认应答号&#x…...
【NLP11-迁移学习】
1、了解迁移学习中的有关概念 1.1、预训练模型(pretrained model) 一般情况下预训练模型都是大型模型,具备复杂的网络结构,众多的参数量,以及在足够大的数据集下进行训练而产生的模型。在NLP领域,预训练模型往往是语…...
Android11 FallbackHome启动和关闭流程分析
Android 7.0引入了新特性:Direct Boot Mode,设备启动后进入的一个新模式,直到用户解锁(unlock)设备此阶段结束。在这个模式下,系统调用 resolveHomeActivity 找到的是FallbackHome ,而不是我们的…...
elasticsearch-java api 8 升级
es client api 升级 背景 公司项目从sring-boot2 升级到了spring-boot3 ,es的服务端也跟着升级到了es8 ,而es的客户端7和服务端8 是不兼容的, 客户端es 7使用的是: elasticsearch-rest-high-level-client es 8 升级到…...
HCIA_IP路由基础问题?
目录 1. 什么是路由?2. 什么是路由器?3. 什么是路由信息?4. 路由器信息和路由表的区别?5. 路由表的生成方式?6.直连路由生效条件是什么?7.Inloopback0是什么接口?8.最优路由选择的原则ÿ…...
(黑马出品_高级篇_01)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式
(黑马出品_高级篇_01)SpringCloudRabbitMQDockerRedis搜索分布式 微服务技术——保护 今日目标1.初识Sentinel1.1.雪崩问题及解决方案1.2.服务保护技术对比1.3.Sentinel介绍和安装1.3.1.初识Sentinel1.3.2.安装Sentinel 1.…...
HunyuanVideo-Foley部署案例:混合精度(FP16/AMP)推理性能实测报告
HunyuanVideo-Foley部署案例:混合精度(FP16/AMP)推理性能实测报告 1. 测试环境与配置 1.1 硬件配置 显卡:RTX 4090D 24GB显存(驱动550.90.07)CPU:10核心处理器内存:120GB DDR4存储…...
第4章 编码规范-4.2 注释规范
注释规范包括文件注释、文档注释、代码注释和TODO注释。这里需要强调一点,即在程序代码中,对容易引起误解的代码进行注释是必要的,但应避免对已经清晰表达信息的代码进行再次注释,因为频繁的注释有时恰恰反映了代码的低质量&#…...
ArcMap地图数字化实战:从加载地形图到保存成果的完整流程(附常见问题解决)
ArcMap地图数字化实战:从加载地形图到保存成果的完整流程(附常见问题解决) 在GIS领域,地图数字化是将纸质地图或图像转换为计算机可识别和处理的数字格式的基础工作。这项技能不仅是GIS专业学生的必修课,也是城市规划、…...
C语言标准演进实战指南:如何在现代项目中应用C11/C17/C23特性
C语言标准演进实战指南:如何在现代项目中应用C11/C17/C23特性 1. 为什么现代C项目需要关注新标准特性 在嵌入式系统、高性能计算和基础设施软件领域,C语言仍然是无可争议的王者。根据2023年TIOBE指数统计,C语言连续第三年蝉联最受欢迎编程语言…...
如何高效访问优质内容?bypass-paywalls-chrome-clean工具全方位使用指南
如何高效访问优质内容?bypass-paywalls-chrome-clean工具全方位使用指南 【免费下载链接】bypass-paywalls-chrome-clean 项目地址: https://gitcode.com/GitHub_Trending/by/bypass-paywalls-chrome-clean 在信息爆炸的数字时代,大量优质内容被…...
终极指南:如何快速搭建NixOS配置开发环境 [特殊字符]
终极指南:如何快速搭建NixOS配置开发环境 🚀 【免费下载链接】linux-nixos-hyprland-config-dotfiles Linux 🐧 configuration based on NixOS ❄️, Hyprland, and Catppuccin Macchiato theme 😸 for a consistent, complete, a…...
COMSOL数值模拟:N2和CO2混合气体在THM热流固三场耦合下增强瓦斯抽采
COMSOL数值模拟,实现N2和CO2混合气体在THM热流固三场耦合情况下增强瓦斯(煤层气抽采)煤层气抽采效率提升这事儿,最近在实验室搞了个骚操作——往煤层里怼氮气和二氧化碳的混合气。说人话就是拿这俩气体当开塞露,把卡在…...
AI 自动获客系统正在重构企业线索获取方式
在数字化营销持续深化的当下,企业获客成本逐年攀升,传统 “广撒网” 的线索获取模式早已难以为继。销售团队大量时间耗费在无效线索筛选上,真正用于精准跟进、成交的时间不足两成,人力与投入的失衡让企业陷入增长内耗。而 AI 自动…...
OpenClaw怎么部署?2026年3月OpenClaw(Clawdbot)在阿里云一键部署超全教程
OpenClaw怎么部署?2026年3月OpenClaw(Clawdbot)在阿里云一键部署超全教程。本文面向零基础用户,完整说明在轻量服务器与本地Windows11、macOS、Linux系统中部署OpenClaw(Clawdbot)的流程,包含环…...
ESP32嵌入式系统设计与实现指南
1. 项目概述1.1 系统架构本项目基于ESP32主控芯片设计,采用模块化架构实现多功能嵌入式系统。系统包含以下核心模块:主控单元:ESP32-WROOM-32D模组电源管理:TPS63020升降压转换器传感器接口:I2C/SPI多协议兼容设计人机…...
