C语言的头文件和库文件(函数库)
C语言的头文件和库文件(函数库)
在C语言中,头文件提供对常量的定义和对系统函数及库函数调用的声明(函数原型)。存放的标准位置是/usr/include目录及其子目录。
gcc的-I选项(增加头文件的搜索路径):gcc -I/usr/myInclude main.c 在标准位置及/usr/myInclude目录下查找main.c包含的头文件。
库文件是一组预先编译好的函数的集合,可以说是头文件函数原型的实现。存放的标准位置是/lib和/usr/lib目录。库文件总是以lib开头。标准C语言库文件(函数库)为libc.a文件。
gcc -o main main.c 默认情况,gcc只搜索标准C语言函数库。需要其他库如数学库(libm.a libm.so)则额外添加这一路径:
gcc -o main main.c /usr/lib/libm.a,
gcc -L选项(增加库文件的搜索路径): gcc -o main -L/usr/myLib main.c libmtemp.a
库文件类型:静态函数库(静态库).a文件,共享函数库(共享库).so文件.
自己写个静态库:
- /*hello.c*/
- #include<stdio.h>
- void sayHello()
- {
- printf("I am saying hello to you!/n");
- }
- /*param.c*/
- #include<stdio.h>
- void hasParam(char* arg)
- {
- printf("I have a param %s/n",arg);
- }
- /*头文件mylib.h*/
- void sayHello();
- void hasParam(char* arg);
- /**main.c**/
- #include "mylib.h"
- int main()
- {
- sayHello();
- hasParam("Param");
- return 0;
- }
Linux下运行命令:
gcc -c hello.c param.c
ar crv libcmy.a hello.o param.o——归档命令,生成库文件libcmy.a
ranlib libcmy.a——为函数库生成内容表,Berkerley Unix衍生系统必需的,Linux非必需(做了也无害)
gcc -o main main.c libcmy.a——运行方式1
gcc -o main main.c -L. -lcmy——运行方式2
C语言的头文件和库文件(函数库)相关推荐
- 静态库,动态库是啥,有啥区别(静态函数库/动态函数库)
因之前初学接触这个概念的时候无法直观的理解,询问多人也得到类似如下回复:静态库就是静态库,动态库就是动态库.一个编译一个不编译等类似的回复.伪善的人太多,披着"有问题可以问我"的外 ...
- 标准C函数库头文件、POSIX标准库头文件和Windows API函数库头文件说明
1. 标准C函数库头文件 名字 源自 描述 <assert.h> 包含断言宏,被用来在程序的调试版本中帮助检测逻辑错误以及其他类型的bug. <complex.h> C99 一 ...
- 【Android 内存优化】Android 原生 API 图片压缩原理 ( Bitmap_compress 方法解析 | Skia 二维图形库 | libjpeg 函数库 | libpng 函数库 )
文章目录 一. 图片质量压缩方法 二. Skia 二维图形库 三. libjpeg.libpng 函数库引入 在博客 [Android 内存优化]图片文件压缩 ( Android 原生 API 提供的 ...
- matlab c 函数库,matlab 函数库 去哪下载
这是别人总结的三种编译的方法 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5 方法一: 已有gui.m文件和gui.fig文件 1 在matlab的command窗口中输入 mcc ...
- C语言常用函数/标准工具函数库/数学函数库
- matlab的函数库,matlab函数库大全
matlab中统计工具箱函数大全 MATLAB统计工具箱包括概率分布.方差分析.假设检验.分布检验.非参数检验.回归分析.判别分析.主成分分析.因子分析.系统聚类分析.K均值聚类分析.试验设计.决策树 ...
- 手机matlab函数库,MATLAB函数库
A a abs 绝对值, 模 acos 反余弦 acosh 反双曲余弦 acot 反余切 acoth 反双曲余切 acsc 反余割 acsch 反双曲余割 all 所有元素均非零则为真 alpha 透 ...
- 【Android FFMPEG 开发】Android Studio 工程配置 FFMPEG ( 动态库打包 | 头文件与函数库拷贝 | CMake 脚本配置 )
文章目录 I . FFMPEG 交叉编译后的函数库及头文件 II . FFMPEG 静态库打包动态库 ( 仅做参考 ) III . 创建 Android Studio 工程 IV . FFMPEG 头 ...
- 很详细、很移动的Linux makefile教程:介绍,总述,书写规则,书写命令,使用变量,使用条件推断,使用函数,Make 的运行,隐含规则 使用make更新函数库文件 后序...
很详细.很移动的Linux makefile 教程 内容如下: Makefile 介绍 Makefile 总述 书写规则 书写命令 使用变量 使用条件推断 使用函数 make 的运行 隐含规则 使用m ...
- 4.树莓派Linux分文件编程、动态库与静态库
分文件编程 分文件编程案例: 网络 a 超声波 b 电机 c 分文件编程好处: a.功能责任划分 b.方便调试 c.主程序简洁 主程序: 注意:主程序必须包含分程序的 #include "x ...
最新文章
- Redis 之布隆过滤器与布谷鸟过滤器
- mysql btmp 删除_mysql-如何在VDS上运行docker(lxd /容器)
- ActiveMQ消息中间件简明笔记(1)——理论知识点整理
- 我决定重新开始搞机器学习啦
- linux常用网络诊断命令,linux网络常用诊断工具
- unity导出工程导入到iOS原生工程中详细步骤
- appium-在页面点击一下处理(一般处理提示蒙层)
- unity hub服务器无响应_累积更新KB4541335反馈称无法安装 出现无响应情况
- Spark-大规模数据处理计算引擎
- CNN转换为SNN的算法
- 外媒:日本和芬兰将合作开发6G技术 诺基亚将参与其中
- 碎裂效果尝试(clip-path篇)
- 目标检测——Detectron2的学习笔记
- nlv sqlserver_SQLServer数据类型及使用分析
- android双击返回键退出程序
- 图片放大后怎么把图片变清晰?
- 计算机 取得高级权限,win10获取system权限,win7获取最高权限
- Linux服务器重启导致数据丢失问题解决
- QNX Hypervisor —— 内存
- Android换肤功能实现与换肤框架QSkinLoader使用方式介绍