linux 静态链接库demo
目录结构
./main.c
#include<stdio.h>
#include "./lib/jtlib1.h"
int main()
{
printf("running..\n");
sayhello();
return 0;
}
./makefile
main:main.c
gcc -o main main.c -ljtlib1
clean:
rm main
./lib/jtlib1.h
#ifndef _JTLIB1_H_
#define _JTLIB1_H_
void sayhello();
#endif
./lib/jtlib1.c
#include "jtlib1.h"
#include <stdio.h>
void sayhello()
{
printf("fu2ck this programer!\n");
}
./lib/makefile
libjtlib1.a:jtlib1.o
ar rcs libjtlib1.a jtlib1.o
jtlib.o:jtlib1.h 1tlib1.c
gcc -o jtlib1.o -c jtlib1.c
install:
cp -f ./libjtlib1.a /usr/lib/libjtlib1.a
clean:
rm -f *.o *.a
linux 静态链接库demo的更多相关文章
- Linux 静态链接库和动态连接库
(0)文件夹 VMware 下安装Ubuntu的吐血经历 零基础学习Shell编程 Linux下的makefile的妙用 Linux调试神器 -- gdb 十分钟学会Python的基本类型 Linux ...
- linux静态链接库与动态链接库详解
一顺便说说了哦 通常情况下,对函数库的链接是放在编译时期(compile time)完成的.所有相关的对象文件(object file)与牵涉到的函数库(library)被链接合成一个可执行文件(e ...
- linux静态链接库
库 库是写好的现有的,成熟的,可以复用的代码.现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常 本质上来说库是一种可执行代码的二进制形式,可以被操作系统载 ...
- linux c静态链接库与动态链接库
库函数是我们编程的时候经常用到的,我们协作编程的时候可以将常用的函数封装成库供大家使用,这样能够提高大家的工作效率.对于库函数,它分为动态链接库和静态链接库.对于静态链接库我们必须是连接到可执行文件中 ...
- Linux下动态链接库和静态链接库
第一部分:编译过程 先了解一下linux下C代码的编译过程,C代码的编译,一般分成四个阶段,包括:预编译,编译,汇编和链接,这四个阶段的分工是 预处理过程,负责头文件展开,宏替换,条件编译的选择,删除 ...
- Linux环境下c语言静态链接库和动态链接库创建和使用
库有动态与静态两种,动态通常用.so为后缀,静态用.a为后缀. 面对比一下两者: 静态链接库:当要使用时,连接器会找出程序所需的函数,然后将它们拷贝到执行文件,由于这种拷贝是完整的,所以一旦连接成功, ...
- linux动态链接库和静态链接库
Linux下静态链接库与动态链接库的区别 引言 通常情况下,对函数库的链接是放在编译时期(compile time)完成的.所有相关的对象文件 (object file)与牵涉到的函数库(librar ...
- linux下静态链接库和动态链接库
关于链接库的知识,网上太多资料了,但是并不代表我很熟悉.今天遇到了 一个问题,就是由于静态链接库和ubuntu系统不兼容导致的,虽然花了点时间才搞定 但是,其中暴露的问题也不少. 没有区分好静态链接库 ...
- C/C++ 静态链接库(.a) 与 动态链接库(.so)
平时我们写程序都必须 include 很多头文件,因为可以避免重复造轮子,软件大厦可不是单靠一个人就能完成的.但是你是否知道引用的那些头文件中的函数是怎么被执行的呢?这就要牵扯到链接库了! 库有两种, ...
随机推荐
- git 提交文件到gitee
1.新建文件夹 打开gitbash 初始化仓库 git.init 2.把要提交的文件copy到文件夹 3.git add. 4.git remote add master(分支) 远程仓库 5 ...
- NDK开发中的一个HTTP下载实例附带下载进度
有一个控制下载的管理类吧,调用http下载类进行各种下载,同时在下载过程中可以显示其下载的进度,而且在每个下载结束之后以类似回调的方式告诉管理类,以继续进行后续的操作. 直接代码: .h文件 #pra ...
- Java HashMap两种遍历方式
第一种: Map map = new HashMap(); Iterator iter = map.entrySet().iterator(); while (iter.hasNext()) { Ma ...
- hibernate最佳实践
1.数据量巨大,性能要求高,hibernate由于在ORM映射中对系统资源消耗也比较高,所以不适合 2.hibernate适合:逻辑复杂,数据量不大. 3.sessionFactory的创建非常消耗资 ...
- DataFrame查增改删
DataFrame查增改删 查 Read 类list/ndarray数据访问方式 dates = pd.date_range(',periods=10) dates df = pd.DataFrame ...
- Bioconductor的历史
---------------------------------------------------------------Bioconductor------------------------- ...
- vmware虚拟机桥接模式不能上网
方法/步骤 首先我的主机的有线连接是正常的,如下: 但是我的虚拟机的网络连接模式为桥接模式,但是却上不了网,如下: 我们来确认下,我的虚拟机的网络模式,如下: 设置全部都是对的,但 ...
- 通过Chrome的inspect对手机webview进行调试
使用chrome的inspect可以对手机上的webview进行调试,因为真机没有什么比较好的调试工具,而chrome提供了这一个工具可以比较方便的查看真机上的元素,以及进行调试. 其实我对webvi ...
- linux - 文件拆分
核心: split 例如,把一个文件以10万行为单位拆分文件, 并且以perfix作为前缀,3位数数字,从000开始递增 split -l 100000 filename.txt -d -a 3 pe ...
- vs code 插件推荐
通用插件 HTML Snippets 超级实用且初级的 H5代码片段以及提示 HTML CSS Support 让 html 标签上写class 智能提示当前项目所支持的样式新版已经支持scss文件检 ...