文档章节

C语言第五天(编译)

小丶二
 小丶二
发布于 01/14 20:31
字数 198
阅读 5
收藏 0

main.c

#include <stdio.h>
#include "max.h"

int main(int argc, char **argv){
    max(1, 2);
    return 0;
}

max.h

void max(int a, int b);

max.c

#include <stdio.h>

void max(int a, int b){
    printf("%d", a + b);
}

编译动态库和静态库

1. 生成.o文件
gcc -c max.c

2.1 生成静态库
gcc -shared -o libmax.so max.o

2.1.1 静态库-编译main.c
gcc -o main main.c -L. -lmax

2.2 生成动态库
gcc -shared -o libmax.so max.o

2.2.1 动态库-编译main.c
gcc -o main main.c -L. -lmax

// !遇到的问题!
relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
gcc -fPIC -c max.c


./main: error while loading shared libraries: libmax.so: cannot open shared object file: No such file or directory
export LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH (将本目录添加到共享库)

 

© 著作权归作者所有

共有 人打赏支持
小丶二
粉丝 0
博文 55
码字总数 14528
作品 0
榆次
私信 提问
Android studio JNI开发的三种方式

Android studio JNI开发的三种方式。 第一种 第一步: 创建natice本地方法 第二步: 在工程App模块目录下创建jni文件夹 第三步: 在jin文件夹中创建.c结尾的c文件,编写c代码,在c语言中定义在Jav...

Android
2017/12/19
0
0
业余爱好者的C程序设计学习之路

我学习和工作的方向都是化工,和 IT 专业一点边都不搭,属于程序设计爱好者一类。坚持了很多年了,谈谈我的认识。 一、为什么是C 汇编太难,直接下手会吓死宝宝的。 basic 不能考虑,因为“对...

四彩
2016/02/04
107
2
windows程序设计自学笔记(一)

本周开始自学windows编程,选的教材是《windows程序设计第五版》(珍藏版),没钱买书,只能下了pdf的书籍来看。 《windows程序设计第五版》(珍藏版)共分3个大部分,分别是:1)基础知识[...

赵西元
2012/12/13
0
0
Ruby FFI

Ruby 解析器的性能一般,在一些对性能要求很高的场合我们必须用C语言来编写,然后使用Ruby去调用C库。但是,Ruby调用C库并不是一件轻松的事,需要你对Ruby的内部数据结构有比较深入的了解,甚...

匿名
2008/11/03
1K
0
ubuntu下如何编译C语言

1.平台搭建 LInux下如果单纯是进行C编译环境搭建的话,是比较容易实现的,因为系统内置了编译器gcc,所以我们要做的只不过是写好c源文件然后在进行编译就可以了 如果没有gcc编译器的话,使用...

萧小蚁
2015/10/01
49
0

没有更多内容

加载失败,请刷新页面

加载更多

看过上百部片子的这个人教你视频标签算法解析

本文由云+社区发表 随着内容时代的来临,多媒体信息,特别是视频信息的分析和理解需求,如图像分类、图像打标签、视频处理等等,变得越发迫切。目前图像分类已经发展了多年,在一定条件下已经...

腾讯云加社区
17分钟前
0
0
2. 红黑树

定义:红黑树(Red-Black Tree,简称R-B Tree),它一种特殊的二叉查找树(Binary Search Tree)。 要理解红黑树,先要了解什么是二叉查找树。在上一章中,我们学习了什么是二叉树,以及二叉树...

火拳-艾斯
18分钟前
0
0
input的button类型,点击页面跳转

一、input type=button 不做任何操作 例如: <input type="button" class="btn btn-primary" style="width: 30%" value="返回" onclick="window.location.href='/users/list'"></input> onc......

Sunki
24分钟前
0
0
踩坑:js 小数运算出现精度问题

背景 在学习小程序商城源码时发现了这个问题,单价可能出现小数,小数之间运算结果会莫名其妙多出一大串数字,比如下面这样👇。 在此之前我是知道 js 中著名的 0.1 + 0.2 != 0.3 的问题的,...

dkvirus
30分钟前
0
0
zookeeper和HBASE总结

zookeeper快速上手 zookeeper的基本功能和应用场景 zookeeper的整体运行机制 zookeeper的数据存储机制 数据存储形式 zookeeper中对用户的数据采用kv形式存储 只是zk有点特别: key:是以路径...

瑞查德-Jack
53分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部