社区
C语言
帖子详情
c程序编译生成so文件
zhaojian68326952
2005-10-14 11:14:57
各位xdjm:
我有多个c文件,相互之间可以函数调用,现在我想将它们一起编译生成一个so文件,不知道怎么编译?
在windows下可以编译生成dll文件,编译生成so文件是不是一定要在linux环境下进行???在windows下可以吗?
还有就是如何编译?有什么编译工具吗?
感谢回答!
...全文
1742
8
打赏
收藏
c程序编译生成so文件
各位xdjm: 我有多个c文件,相互之间可以函数调用,现在我想将它们一起编译生成一个so文件,不知道怎么编译? 在windows下可以编译生成dll文件,编译生成so文件是不是一定要在linux环境下进行???在windows下可以吗? 还有就是如何编译?有什么编译工具吗? 感谢回答!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
021850524
2005-10-16
打赏
举报
回复
顺便再补充一下, 编译的时候, 加上-c -fPIC,产生位置无关的代码.要不然会不能正常使用.
zhang_jiang
2005-10-15
打赏
举报
回复
Windows下用cygwin试试.
你嫌麻烦可以写个Makefile好了.
zhaojian68326952
2005-10-15
打赏
举报
回复
自己顶,高手指点一下啊
Cnwanglin
2005-10-14
打赏
举报
回复
windows环境下的用VC
有做成Dll 生成的dll 在Debug目录下
zhaojian68326952
2005-10-14
打赏
举报
回复
非常感谢楼上的回答!
但是我还不是很明白,只能一个一个文件单独编译吗?不可以将所有的c文件作为一个工程来编译生成一个so动态链接库吗?
还有在windows环境下能编译吗?用什么工具?
zhang_jiang
2005-10-14
打赏
举报
回复
.so是Linux(Unix)下的动态链接库. 和.dll类似.
比如文件有: a.c, b.c, c.c
gcc -c a.c
gcc -c b.c
gcc -c c.c
gcc -shared libXXX.so a.o b.o c.o
要使用的话也很简单. 比如编译d.c, 使用到libXXX.so中的函数, libXXX.so地址是MYPATH
gcc d.c -o d -LMYPATH -lXXX
注意不是-llibXXX
zhaojian68326952
2005-10-14
打赏
举报
回复
高手路过指点一下啊
zhaojian68326952
2005-10-14
打赏
举报
回复
但是我现在不要生成dll啊,我只要生成so!
LINUX下C++
生成
.so
文件
及
编译
生成
可执行
文件
的过程
以下是.so库的
生成
及
编译
步骤: 如果.cpp
文件
不多的话,可以将.cpp和.hpp
文件
都放在一个目录下,依次输入名称进行
编译
.也可以用指令将整个目录下的.cpp
文件
全部
编译
.这里先记录下依次输入名称的方法. 1.对目录下不包含main函数的.cpp
文件
进行统一
编译
(必须将使用到的.hpp
文件
都放进来) 终端进入目录,输入以下命令 g++ ibeo_socket.cpp base64.cpp l...
Linux C++通过Makefile
编译
生成
动态库.so
文件
在 Linux 系统中,使用Makefile可以高效地管理项目的
编译
过程,尤其是在处理包含多个源
文件
和复杂依赖关系的大型项目时。通过Makefile,你可以自动化
生成
动态库.so
文件
,简化
编译
流程,提高开发效率。通过Makefile
编译
和
生成
动态库.so
文件
可以极大地简化
编译
流程,尤其是在处理多个源
文件
和复杂项目时。Makefile的自动化
编译
规则使得构建共享库更加高效和便捷。这篇文章介绍了如何使用Makefile
编译
和
生成
动态库.so
文件
的完整过程,适用于需要高效管理
编译
过程的项目。
linux
编译
.so
文件
,linux中把.c的
文件
编译
成.so
文件
linux中共享库以so为后缀(shared object),与Windows下的DLL类似,是在
程序
运行时动态连接。多个进程可以连接同一个共享库。以下以
编译
mylib.c为例讲如何
编译
.so
文件
。首先,
编译
mylib.c:$gcc -c -fPIC -o mylib.o mylib.c-c表示只
编译
(compile),而不连接。-o选项用于说明输出(output)
文件
名。gcc将
生成
一个目标(o...
c语言怎样
编译
成so
文件
,C++调用C语言
编译
的so
文件
参考链接:https://blog.csdn.net/chenjinlong126/article/details/78990350一.制作so
文件
:libadd_c.so或libadd_cpp.so1、add.c:int add(int a, intb){return a +b;}
编译
:gcc -shared -fpic -lm -ldl -o libadd_c.so add.c2、add.cp...
Linux下c++
程序
利用g++方法
生成
.so
文件
并调用测试
c++
程序
利用g++方法
生成
.so
文件
并调用测试
生成
.so
文件
调用.so
文件
生成
.so
文件
test.cpp #include <iostream> int calcAdd(int x, int y) { return x+y; } test.h #include "test.h" extern "C" int calcAdd(int x, int y); main.cpp #include "test.h" int main { int result=calcAdd(1,2); }
C语言
70,020
社区成员
243,263
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章