设为首页
收藏本站
开启辅助访问
切换到窄版
登录
立即注册
中问网首页
我的收藏
站长博客
搜索
搜索
本版
帖子
用户
第一问答网
»
论坛
›
中问网
›
问答
›
linux中把.c的文件编译成.so
返回列表
发新帖
linux中把.c的文件编译成.so
[复制链接]
11
|
1
|
2016-1-20 14:57:59
|
显示全部楼层
|
阅读模式
首先gcc -c -fPIC libst.c生成 libst.o然后gcc -shared -fPIC -o libst.so libst.o生成 libst.so 动态链接库把libst.so拷贝到系统默认库目录下,比如 /lib, /usr/lib 下假定你有 test.c 要引用这个库gcc -lst -o test test.c然后就可以了假如不能把libst.so拷贝到默认库目录下,比方说放在了/home/aaa/lib 下那么就用这样的语句来编译test.cgcc -L/home/aaa/lib -lst -Wl,-rpath=/home/aaa/lib -o test test.c
回复
使用道具
举报
千问
|
2016-1-20 14:57:59
|
显示全部楼层
linux中共享库以so为后缀(shared object),与Windows下的DLL类似,是在程序运行时动态连接。多个进程可以连接同一个共享库。以下以编译mylib.c为例讲如何编译.so文件。首先,编译mylib.c:$gcc -c -fPIC -o mylib.o mylib.c-c表示只编译(compile),而不连接。-o选项用于说明输出(output)文件名。gcc将生成一个目标(object)文件mylib.o。注意-fPIC选项。PIC指Position Independent Code。共享库要求有此选项,以便实现动态连接(dynamic linking)。生成共享库:$gcc -shared -o mylib.so mylib.o库文件以lib开始。共享库文件以.so为后缀。-shared表示生成一个共享库。这样,共享库就完成了。.so文件和.h文件都位于当前工作路径(.)。
回复
使用道具
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
千问
主题
0
回帖
4882万
积分
论坛元老
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
积分
48824836
加好友
发消息
回复楼主
返回列表
问答
热门排行
1
山东治疗甲肝哪里好
2
山东丙肝治疗费用
3
乌鲁木齐市做男科检查需要多少钱
4
没有吃饭走路走快点的话,小腹就会很痛,
5
乌鲁木齐市做男科检查要多少钱
6
山东肝病科疾病
7
乌鲁木齐市男科检查需要多少钱
8
山东哪里看肝病科
9
山东看肝病科哪里好
10
山东肝病科哪里最好
11
乌鲁木齐市做男科检查多少钱
12
山东治疗黄疸大概要多少钱
13
山东治疗甲肝哪家好
14
山东甲肝哪里治疗好
15
山东哪家治疗甲肝最好
16
山东治疗甲肝去哪好
17
精子百分之十五活动率会怀孕吗医生
18
就是昨天晚上,吃了点比较冷的东西,然后
19
山东甲肝治疗哪里最好
20
山东哪里治疗甲肝好
21
山东甲肝检查多少钱
22
山东甲肝去哪里治疗
23
山东甲肝要花多少钱
24
山东治甲肝多少钱
25
山东治疗甲肝多少钱
26
山东甲肝治疗多少钱
27
山东专治肝脓肿
28
颧骨不对称,可以通过按压方式治疗么?
29
乌鲁木齐市做背神经阻断术
30
山东中医甲肝
31
山东甲肝哪家好
32
乌鲁木齐市阴经背神经
33
右边眉上边额头部位长了一个疙瘩,开始不
34
山东甲肝的治疗费用
35
山东肝脓肿哪里治疗
36
乌鲁木齐市阴茎背神经分离持久术
37
我太太食用了一瓶量的酚酞片,呕吐过,没
38
山东肝脓肿哪里治疗好
39
两天没拉了,昨天和晚上睡觉不安稳,不怎
40
乌鲁木齐市阴茎背神经断术
41
我有巴式腺囊肿,现在复发了,可是我现在
42
沈阳生殖泡疹治疗
43
乌鲁木齐市阴茎背侧神经阻断术
44
乌鲁木齐市阴茎背神经阻断术需要多少钱
45
山东治疗肝吸虫病大概要多少钱
46
山东肝吸虫病的治疗费用
47
山东看甲肝
48
你好,我家宝宝这几天有点拉肚子,结果今
49
乌鲁木齐市阴茎背神经阻断术一般需要多少钱
50
乌鲁木齐市阴茎背神经阻断术手术需要多少钱