当前位置: 首页 > news >正文

芜湖龙湖建设网站福州网站建设 网络服务

芜湖龙湖建设网站,福州网站建设 网络服务,百度提升排名,公司标志logo设计免费动态链接库与普通的程序相比而言#xff0c;没有main函数#xff0c;是一系列函数的实现。通过shared和fPIC编译参数生产so动态链接库文件。程序在调用库函数时#xff0c;只需要连接上这个库即可。例如下面实现一个简单的整数四则运输的动态链接库#xff0c;定义的cacula…动态链接库与普通的程序相比而言没有main函数是一系列函数的实现。通过shared和fPIC编译参数生产so动态链接库文件。程序在调用库函数时只需要连接上这个库即可。例如下面实现一个简单的整数四则运输的动态链接库定义的caculate.h和caculate.c两个文件生产libcac.so动态链接库。针对二进制文件有用的命令查看文件类型file查看二进制文件链接到哪些库ldd查看二进制文件里面所包含的symbol,T表示加载U表示undefined symbolnm读二进制文件里面的信息readelf -a smu.o将二进制文件转换为汇编objdump -d sum.o动态链接库的生成sum.c#include #include int sum(int x){int i, result0;for(i0; ix; i){resulti;}if(x 100)exit(-1);return result;};void display(char* msg){printf(%s\n,msg);}int add(float a,float b){return ab;}int sum_array(int array[], int num){int i 0, sum 0;for(i0; isum array[i];return sum;}void modify_array(int array[], int num){int i 0, sum 0;for(i0; iarray[i] * 10;}main.c#include #include int main(void){int x;printf(Input an integer:\n);scanf(%d, x);printf(sum%d\n, sum(x));return 0;};生成可执行文件gcc -c main.c -o main.ogcc -c sum.c -o sum.ogcc sum.o main.o将会生成main的可执行文件file main // ELF 64-bit LSB executablefile sum.o // ELF 64-bit LSB relocatable因为sum.c里面含有可复用的函数所以想把sum.c编译成为一个动态链接库gcc sum.o -shared -o sum.so出现错误提示/usr/bin/ld: sum.o: relocation R_X86_64_PC32 against undefined symbol exitGLIBC_2.2.5 can not be used when making a shared object; recompile with -fPIC/usr/bin/ld: final link failed: Bad valuecollect2: error: ld returned 1 exit status这说明不是所有的.o文件都能编译成为动态链接库需要在.o文件生成时加参数-fPICgcc -c sum.c -fPIC -o sum.ogcc sum.o -o shared sum.so一般共享库的编译命令为(曾经的实验)动态链接库gcc -shared -fPIC -o libmyhello.so hello.ogcc -o hello main.c -L. -lmyhello静态链接厍ar rcs libxx.a xx.og -o main main.cpp -static -L. -lxx这时候再g -o main main.c sum.so./main有时会报错error while loading shared libraries: sum.so: cannot open shared object file: No such file or directoryldd mainoutput:sum.so not found这时候需要export $LD_LIBRARY_PATHpwd:$LD_LIBRARY_PATH注意:-fPIC是生成.o时使用-shared是用来生成动态链接库的以上就是本文的全部内容希望对大家的学习有所帮助也希望大家多多支持脚本之家。
http://www.huolong8.cn/news/42808/

相关文章:

  • 视频网站怎么做采集网站做下载word
  • 上海网站建设上海黄金seo培训教程视频
  • cms网站开发毕设自己怎么免费做网站网页
  • 网站开发工具的是什么网站后台购买
  • 网站排名按天付费东莞企业推广网站制作
  • 网站建设商业阶段网上室内设计师培训
  • 罗湖建设网站外贸线上推广
  • 如何在网站做电子报嘉定网站设计制作托管维护
  • 做物流网站计划网站开发对显卡的要求
  • 奉贤区专业建网站ppt代做
  • 网站建设的通知网站维护分工网站管理系统
  • 网站代理服务器有问题微信里面的小程序怎么设置
  • 建网站备案意识形态建设专题网站
  • 设计网站的目的信息作业网站下载
  • 涿州做网站公司做网站head.htm
  • 泉州响应式网站建设购物网页设计
  • 一家企业如何做网站推广国家免费24小时律师咨询
  • 自己网站怎么做百度优化网站建设和架构
  • 做办公室的网站做网站主流语言
  • 淘宝毕业设计网站代做聊城网站推广软件
  • 网站怎么做推广和宣传温州免费个人网站制作公司
  • 网站开发好后版权归谁seo快速排名优化
  • 外贸网站大全php国内外发展现状
  • 跨境电商建站公司网站建设费的摊销
  • 哪个网站可以做优惠券最有效的网站推广费用
  • 徐州cms建站系统深圳网络营销收费标准
  • 帝国建站系统wordpress数据采集
  • 哪个网站上可以做代打百度手机浏览器
  • 湛江制作公司网站吕梁网站开发
  • 三水建设局网站wordpress微信付款后查看