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

网站做app的软件有哪些/抖音竞价推广怎么做

网站做app的软件有哪些,抖音竞价推广怎么做,建设银行网站查询卡号,seo 网站推广Linux 中常用链接来解决一些库函数的问题。在编译时链接可以生成可执行文件。了解一些链接的基本过程&#xff0c;能让我们在开发中减去不少的麻烦&#xff01;编译时使用 gcc -lm程序功能很简单&#xff0c;下面的示例展示了exp()函数的用法。(代码一)#include <stdio.h>…

35585adb0ed14982015b0367b3555fcf.png

Linux 中常用链接来解决一些库函数的问题。在编译时链接可以生成可执行文件。了解一些链接的基本过程,能让我们在开发中减去不少的麻烦!

编译时使用 gcc -lm

程序功能很简单,下面的示例展示了exp()函数的用法。

(代码一)

#include <stdio.h>
#include <math.h> //expint main(int argc, char const *argv[]){//double x = 0;printf("The exponential value of %lf is %lfn", 0, exp(0));printf("The exponential value of %lf is %lfn", 0+1, exp(0+1));printf("The exponential value of %lf is %lfn", 0+2, exp(0+2));return(0);
}

编译结果:

c5606d2063406dccd0bf80014a1a280d.png

我们再来看下面这种情况:

(代码二)

#include <stdio.h>
#include <math.h>//#define X 0int main(int argc, char const *argv[]){double x = 0;printf("The exponential value of %lf is %lfn", x, exp(x));printf("The exponential value of %lf is %lfn", x+1, exp(x+1));printf("The exponential value of %lf is %lfn", x+2, exp(x+2));return(0);
}

编译输出:

65ef2bf895d646180ddea57a4c90810f.png

同样的编译方法却编译不过了,提示对‘exp’未定义的引用。

来看看man手册exp函数的使用:

1b01758af4b18d05130b3cc3da23819d.png

发现exp函数除了需要包含头文件math.h外,编译时还需要使用-lm链接。

编译时在包含链接-lm,看看是否编译通过:

库链接一般放在命令行结尾。

问题

两段代码同样都调用了exp函数,为什么一个需要链接,一个不需要链接呢?

我们可以观察到,代码一调用exp传入的参数是常量为 0 。代码二调用exp传入的参数是变量 x,那么对于代码一会不会在运行之前就计算好了呢?

来看看它们的汇编代码:

(代码一)

8c18690ad3e461a179c38aad69b14c39.png

aa87bac5f31cc29f9803436eba361816.png

第一段代码没有看到调用exp的身影。实际上,通过汇编代码可以看到,当传入参数为常量时,就已经计算好了值,最后根本不需要调用exp函数。

(代码二)

b85412b10efd9a25e6201f21e229474b.png

f788dd1881d61dbe43ccb4729e861f11.png

汇编的具体细节我们无需尽知,变量型的参数,其值在运行时确定,因此需要调用,第二段代码call exp指令调用了exp函数。

ldd命令查看链接库

代码一:

0af8734f5261c47fe3c5d2f599d268ef.png

在Linux平台上最广泛使用的C函数库是glibc,其中包括C标准库的实现。几乎所有C程序都要调用glibc的库函数,所以glibc是Linux平台C程序运行的基础。glibc提供一组头文件和一组库文件,最基本、最常用的C标准库函数和系统函数在libc.so库文件中,几乎所有C程序的运行都依赖于libc.so(例如 printf)

代码二:

4702420962c3a6914984dfea4c139a35.png

使用math.h中声明的库函数还有一点特殊之处,gcc命令行必须加-lm选项,因为数学函数位于libm.so库文件中(这些库文件通常位于/lib目录下),-lm选项告诉编译器,我们程序中用到的数学函数要到这个库文件里找。

总结

调用函数是否需要链接,可以使用命令“man 3 函数名“查看,如果需要链接库,最后都有说明。调用包含于libc库中的函数不需要链接。

欢迎关注微信公众号【程序猿编码】,专注于Linux c/c++ 、Python、Go语言、数据结构与算法、网络编程相关知识,常用的程序员工具。还有每日00:10分之前更新 新闻简报,一份【简报】,纵览天下事!

http://www.lbrq.cn/news/1078759.html

相关文章:

  • 个人网站内容/线上营销活动有哪些
  • 做网站用的一些素材/百度推广账号登录
  • 贵州做网站/软文推广平台
  • 沧州网站建设 3tseo/徐州网站关键词排名
  • 石家庄做网站/百度推广怎么收费标准案例
  • 做网页设计卖钱的网站/短视频推广app
  • 建百度网站/服务器
  • 做网站需要ui设计吗/搜索引擎优化代理
  • 南宁网站建设王道下拉強/软文网站平台
  • 站长工具ip地址/百度推广一天烧多少钱
  • 介绍几个能进去的a站/app推广平台排行榜
  • wordpress 获取文章第一张图片/网站做seo教程
  • 电脑上如何做课程视频网站/东营百度推广公司
  • 武汉专业网站制作/百度seo优化怎么做
  • 设计深圳/百度推广seo怎么学
  • wordpress首页截断插件/徐州新站百度快照优化
  • 没有服务器做网站/做销售怎么和客户聊天
  • 代理登陆网站/个人网页
  • 做网站的公司哪些靠谱/自己做一个网站
  • 网站的转化率/下载班级优化大师app
  • 南通通州区网站制作/保定百度推广优化排名
  • 门户网站做啥/苹果aso优化
  • 网站怎么看是什么程序做的/什么叫seo
  • 设计师助理做网站吗/seo的中文含义是
  • 聊城网站设计/南宁seo外包服务商
  • 建房城乡建设部网站/设计公司取名字大全集
  • 做网站的企业/windows10优化工具
  • 奇想网站建设/百度关键词优化推广
  • 莱芜网站建设价格/成都网站建设
  • 国内建设地铁的公司网站/谷歌搜索引擎为什么国内用不了
  • 【DeepSeek-R1 】分词系统架构解析
  • 【Linux学习|黑马笔记|Day1】Linux初识、安装VMware Workstation、安装CentOS7、远程连接、虚拟机快照
  • [12月考试] E
  • 数据库中使用SQL作分组处理01(简单分组)
  • 嵌入式linux驱动开发:什么是Linux驱动?深度解析与实战入门
  • SpringBoot升级2.5.3 2.6.8