为什么我必须显式链接 libm? [复制]

2024-04-01

可能的重复:
为什么必须链接C 中的数学库? https://stackoverflow.com/questions/1033898/why-do-you-have-to-link-the-math-library-in-c

当我编写一个使用以下函数的程序时math.h库,为什么我必须显式链接到libm即使它们是 C 标准库的一部分?

例如,当我想使用sin()我需要的功能#include <math.h>但我还需要通过-lm到海湾合作委员会。但对于标准库中的任何其他库,我不必这样做。为什么有区别?


在过去,链接器速度很慢,将大部分未使用的数学代码与其余代码分开可以使编译过程变得更快。今天的差异不是很大,所以您可以添加-lm默认编译器配置的选项。


请注意,标头<math.h>(或任何其他标头)不包含代码。它包含有关代码的信息,特别是how来调用函数。代码本身位于库中。我的意思是,你的程序不使用"<math.h>图书馆”,它使用数学库并使用在<math.h> header.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么我必须显式链接 libm? [复制] 的相关文章

  • 使用实体框架模型输入安全密钥

    这是我今天的完美想法 Entity Framework 中的强类型 ID 动机 比较 ModelTypeA ID 和 ModelTypeB ID 总是 至少几乎 错误 为什么编译时不处理它 如果您使用每个请求示例 DbContext 那么很
  • 如何从 appsettings.json 文件中的对象数组读取值

    我的 appsettings json 文件 StudentBirthdays Anne 01 11 2000 Peter 29 07 2001 Jane 15 10 2001 John Not Mentioned 我有一个单独的配置类 p
  • 不同枚举类型的范围和可转换性

    在什么条件下可以从一种枚举类型转换为另一种枚举类型 让我们考虑以下代码 include
  • 在 ASP.NET 5 中使用 DI 调用构造函数时解决依赖关系

    Web 上似乎充斥着如何在 ASP NET 5 中使用 DI 的示例 但没有一个示例显示如何调用构造函数并解决依赖关系 以下只是众多案例之一 http social technet microsoft com wiki contents a
  • 重载<<的返回值

    include
  • WCF 中 SOAP 消息的数字签名

    我在 4 0 中有一个 WCF 服务 我需要向 SOAP 响应添加数字签名 我不太确定实际上应该如何完成 我相信响应应该类似于下面的链接中显示的内容 https spaces internet2 edu display ISWG Signe
  • 使用 Bearer Token 访问 IdentityServer4 上受保护的 API

    我试图寻找此问题的解决方案 但尚未找到正确的搜索文本 我的问题是 如何配置我的 IdentityServer 以便它也可以接受 授权带有 BearerTokens 的 Api 请求 我已经配置并运行了 IdentityServer4 我还在
  • 如何设计以 char* 指针作为类成员变量的类?

    首先我想介绍一下我的情况 我写了一些类 将 char 指针作为私有类成员 而且这个项目有 GUI 所以当单击按钮时 某些函数可能会执行多次 这些类是设计的单班在项目中 但是其中的某些函数可以执行多次 然后我发现我的项目存在内存泄漏 所以我想
  • while 循环中的 scanf

    在这段代码中 scanf只工作一次 我究竟做错了什么 include
  • 如何序列化/反序列化自定义数据集

    我有一个 winforms 应用程序 它使用强类型的自定义数据集来保存数据进行处理 它由数据库中的数据填充 我有一个用户控件 它接受任何自定义数据集并在数据网格中显示内容 这用于测试和调试 为了使控件可重用 我将自定义数据集视为普通的 Sy
  • 什么时候虚拟继承是一个好的设计? [复制]

    这个问题在这里已经有答案了 EDIT3 请务必在回答之前清楚地了解我要问的内容 有 EDIT2 和很多评论 有 或曾经 有很多答案清楚地表明了对问题的误解 我知道这也是我的错 对此感到抱歉 嗨 我查看了有关虚拟继承的问题 class B p
  • 链接器错误:已定义

    我尝试在 Microsoft Visual Studio 2012 中编译我的 Visual C 项目 使用 MFC 但出现以下错误 error LNK2005 void cdecl operator new unsigned int 2
  • WPF/C# 将自定义对象列表数据绑定到列表框?

    我在将自定义对象列表的数据绑定到ListBox in WPF 这是自定义对象 public class FileItem public string Name get set public string Path get set 这是列表
  • 如何从两个不同的项目中获取文件夹的相对路径

    我有两个项目和一个共享库 用于从此文件夹加载图像 C MainProject Project1 Images 项目1的文件夹 C MainProject Project1 Files Bin x86 Debug 其中有project1 ex
  • 如何将带有 IP 地址的连接字符串放入 web.config 文件中?

    我们当前在 web config 文件中使用以下连接字符串 add name DBConnectionString connectionString Data Source ourServer Initial Catalog ourDB P
  • 基于 OpenCV 边缘的物体检测 C++

    我有一个应用程序 我必须检测场景中某些项目的存在 这些项目可以旋转并稍微缩放 更大或更小 我尝试过使用关键点检测器 但它们不够快且不够准确 因此 我决定首先使用 Canny 或更快的边缘检测算法 检测模板和搜索区域中的边缘 然后匹配边缘以查
  • 哪种 C 数据类型可以表示 40 位二进制数?

    我需要表示一个40位的二进制数 应该使用哪种 C 数据类型来处理这个问题 如果您使用的是 C99 或 C11 兼容编译器 则使用int least64 t以获得最大的兼容性 或者 如果您想要无符号类型 uint least64 t 这些都定
  • C# - OutOfMemoryException 在 JSON 文件上保存列表

    我正在尝试保存压力图的流数据 基本上我有一个压力矩阵定义为 double pressureMatrix new double e Data GetLength 0 e Data GetLength 1 基本上 我得到了其中之一pressur
  • Windows 和 Linux 上的线程

    我在互联网上看到过在 Windows 上使用 C 制作多线程应用程序的教程 以及在 Linux 上执行相同操作的其他教程 但不能同时用于两者 是否存在即使在 Linux 或 Windows 上编译也能工作的函数 您需要使用一个包含两者的实现
  • C++ 标准是否指定了编译器的 STL 实现细节?

    在写答案时this https stackoverflow com questions 30909296 can you put a pimpl class inside a vector我遇到了一个有趣的情况 这个问题演示了这样一种情况

随机推荐

  • WPF DataTrigger 值中的绑定

    嗯 这可能是一个简单的问题 但我无法找到解决方案 我有一个DataTrigger as
  • 使用xarray,如何在多维数据集上并行化一维操作?

    我有一个 4D xarray 数据集 我想在特定维度 此处为时间 上的两个变量之间进行线性回归 并将回归参数保留在 3D 数组中 其余维度 我设法通过使用此串行代码获得了我想要的结果 但速度相当慢 add empty arrays to s
  • 在图形工具、Python 界面中从邻接矩阵创建加权图

    我应该如何使用 python 中的图形工具从邻接矩阵中创建图形 假设我们有adj矩阵作为邻接矩阵 我现在做的是这样的 g graph tool Graph directed False g add vertex len adj edge w
  • XML 解析以获取描述选项卡

    我如何使用 android 中的 xml 解析来解析描述详细信息
  • Windows 7 上的 GetWindowRect 太小

    我想要解决的实际问题是 我想自动找出窗口周围边距的大小 如果您能找到更好的方法 请务必回答这个而不是这个 为此 我决定截取测试窗口的屏幕截图并测量边距 这很简单 因为我预计任何边距都不会是亮粉色 但我承认这是一个黑客行为 我用获取窗口矩形
  • Go-复制结构之间的所有公共字段

    我有一个存储 JSON 的数据库 以及一个提供外部 API 的服务器 通过 HTTP post 可以更改该数据库中的值 该数据库由不同的进程在内部使用 因此具有通用的命名方案 客户看到的密钥不同 但与数据库中的密钥进行 1 1 映射 存在未
  • 使用 Parse 创建 Stripe 客户

    我正在尝试使用解析创建一个条带客户 但似乎无法从响应中获取 customer id 值 var newCustomer Stripe Customers create card request params cardToken email
  • Objective-c:访问方法中的可变参数[重复]

    这个问题在这里已经有答案了 可能的重复 如何在 Objective C 中创建可变参数方法 https stackoverflow com questions 4804674 how to create variable argument
  • 紧凑的等于和哈希码

    我有一个有 4 个属性的 bean user institutionId groupId postingDate 我使用 Eclipse 生成 equals 和 hashcode 但生成的代码不太漂亮 有没有一种紧凑的方法可以做到同样的事情
  • 将ELF文件加载到内存中

    我正在尝试将 elf 文件放入内存然后执行它 步骤如下 1 要放入内存的文件 int main printf Hello world n return 0 2 编译它gcc o hello hello c static ELF Header
  • 如何锁定 Django 中的关键部分?

    我找不到一个好的干净方法来锁定 Django 中的关键部分 我可以使用锁或信号量 但 python 实现仅适用于线程 因此如果生产服务器分叉 那么这些将不会受到尊重 有谁知道一种方法 我现在正在考虑 posix 信号量 来保证跨进程的锁定
  • Docker Weave 和 WeaveDNS 问题

    我在本地计算机上运行的小型 weave 网络上设置 weaveDNS 时遇到问题 目前 问题表现为以下事实 当我运行 weave status 时 我在输出中没有看到 DNS 部分 如故障排除部分中所建议的那样 http docs weav
  • 如何正确使用倒计时线程,如何提前停止它?

    线程没有按我期望的方式工作 我有一个可行的解决方案 可以使用 Raspberry Pi 和簧片开关监控冰箱何时打开和关闭 声音播放未暂停和暂停 我现在想添加一个计时器 以便在门打开时间过长时执行某些操作 我认为启动一个在警报操作之前休眠 x
  • 排列 R 中向量的所有唯一枚举

    我试图找到一个函数来排列所有unique向量的排列 而不计算相同元素类型子集中的并置 例如 dat lt c 1 0 3 4 1 0 0 3 0 4 has factorial 10 gt 3628800 可能的排列 但仅10 2 2 4
  • R 中的“=”和“<-”有什么区别? [复制]

    这个问题在这里已经有答案了 我正在使用 R 2 8 1 并且可以同时使用 and lt 作为变量赋值运算符 他们之间有什么区别 我应该使用哪一个 From here http stat ethz ch R manual R patched
  • html 仅选择一组中的一个复选框

    那么如何才能只允许用户选择一个复选框呢 我知道单选按钮是 理想的 但就我的目的而言 它不是 我有一个字段 用户需要选择两个选项之一 但不能同时选择两个选项 问题是我需要我的用户也能够取消选择他们的选项 这就是单选按钮失败的地方 因为一旦选择
  • 使用.NET删除矩形?

    我可以删除我绘制的旧矩形并绘制新矩形吗 private void panel1 MouseClick object sender MouseEventArgs e Graphics g this panel1 CreateGraphics
  • 使用 Visual Studio 2008 远程调试 Web 应用程序的服务器端

    因此 我读到在我的测试服务器计算机上安装 VS2008 不是一个好主意 因为它对运行时环境的改变太大 我以前从未尝试过使用 Visual Studio 进行远程调试 那么对服务器端 Web 应用程序代码进行逐行远程调试的 最佳 方法是什么
  • Turbolinks 不工作 - 而是加载页面两次

    所以 在我的 Rails 4 应用程序中 我有 Turbolinks gem require jquery js require jquery turbolinks require turbolinks 然而 似乎有些不对劲 Turboli
  • 为什么我必须显式链接 libm? [复制]

    这个问题在这里已经有答案了 可能的重复 为什么必须链接C 中的数学库 https stackoverflow com questions 1033898 why do you have to link the math library in