Go 依赖于 C 运行时吗?

2024-01-16

我找不到 Go 依赖于 C 运行时的信息吗?如果依赖的话,是否静态编译成二进制文件,使得Go编写的应用程序可以在任何地方运行而无需依赖?

这里的主题是关于什么是 C 运行时 https://stackoverflow.com/questions/2766233/what-is-the-c-runtime-library


如果您谈论的是 Go 编译器提供的可执行文件,那么答案是“是或否 - 这取决于”:

在大多数情况下,生成的可执行程序不会not依赖于 C 运行时库。

然而,在某些平台上,在某些情况下,C 运行时库会变得动态地链接到. 特别是,当使用 DNS 解析时,Linux 上的 Go 版本 libc执行来处理此类决议。在 1.5 中这已被重新设计 https://golang.org/doc/go1.5#net.

另一种可能的情况是 (IIRC) Solaris,它没有提供直接访问内核系统调用的稳定方法,并且需要通过平台的路由这些呼叫libc http://garrett.damore.org/2015/09/on-go-portability-and-system-interfaces.html.

还有另一种情况:使用cgo这是 Go 代码与外部 C 代码的接口层。使用cgo使你的 Go 程序依赖于 C 运行时。请注意,您可能不会使用cgo直接使用,但您可能正在使用的一个或多个第三方软件包可以使用cgo,并且——传递性地——你的程序最终取决于 C 运行时库。

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

Go 依赖于 C 运行时吗? 的相关文章

  • 在 Alpine 中找不到运行时/cgo

    In an alpine edge我安装的容器通过 RUN apk add no cache musl dev go 我试着跑go get github com golang protobuf protoc gen go then 这会导致
  • 应用程序启动时立即隐藏导航栏

    基于以下代码片段 我能够隐藏状态栏当应用程序启动时 但不是导航栏 由后退 主页和任务管理器按钮组成的栏 因为它隐藏了稍后在 MainActivity 的线程完成加载后 这是清单
  • ReverseProxy取决于golang中的request.Body

    我想构建一个 http 反向代理 它检查 HTTP 主体 然后将 HTTP 请求发送到它的上游服务器 你怎么能在 Go 中做到这一点 初始尝试 如下 失败 因为 ReverseProxy 复制传入请求 修改它并发送 但正文已被读取 func
  • 使用cgo时的多重定义

    package main int add int a int b return a b import C import fmt func main func Test1 fmt Println C add 1 3 export Test2
  • 如何在 Visual Studio Code 中使用 Delve 调试器进行远程调试

    我已经问过了 得到了很好的答复answer https stackoverflow com questions 39058823 how to use delve debugger in visual studio code用于使用 del
  • 构建链代码时 ltdl.h 未找到错误

    我正在尝试使用构建链码go build 当我运行 Go build 命令时它的报告 hyperledger fabric vendor github com miekg pkcs11 pkcs11 g o 29 18 fatal error
  • Go io.Pipe 的缓冲版本

    有缓冲版本吗io Pipe https golang org pkg io Pipe 在标准库或第三方库中 在我推出自己的库之前 上下文 我正在尝试使用这个解决方案 https stackoverflow com a 36229262 15
  • 如何分析 VSCode 中函数的性能

    我用 C Golang 编写了一个程序 如何找到占用最高 CPU 周期的函数 目的是提高正在执行的程序的性能 2021 年 10 月 金香儿哈娜 https github com hyangah宣布 tweet https twitter
  • GoQt 致命错误:QAbstractAnimation:没有这样的文件或目录

    我尝试编译 Qt 来开发桌面应用程序 我按照 Qt 网站上的官方 wiki 指南的说明进行操作 当我尝试go run示例文件夹中的示例 我收到错误 去运行 home pinkya rabbit workspace go1programs s
  • 如何在 Go 中解组具有多个项目的简单 xml?

    我想从以下 xml 中获取人物 People 的一部分
  • 如何在运行“go test”时排除或跳过特定目录[重复]

    这个问题在这里已经有答案了 go test go list grep v vendor coverprofile testCoverage txt 我正在使用上述命令来测试文件 但有 1 个名为 Store 的文件夹我想从测试中排除 怎样才
  • 我怎么知道我的所有 goroutine 确实正在使用 golang 的同步包等待一个条件

    我有一个应用程序 我正在创建多个 goroutine 来同时执行某个任务 所有工作协程都会等待条件 事件发生 一旦事件被触发 它们就会开始执行 创建完所有goroutines后 主线程在发送广播信号之前应该知道所有goroutines确实处
  • “未定义的行为”是否会扩展到编译时?

    我们都听过这样的警告 如果你调用未定义的行为在 C 或 C 中 任何事情可以发生 这是否仅限于任何运行时行为 或者这还包括任何编译时行为吗 特别是 编译器在遇到调用未定义行为的构造时是否允许拒绝代码 在标准中没有其他要求的情况下 甚至崩溃
  • 使用 HTTPS GRC 从 AWS Codecommit 获取私有存储库

    我正在尝试导入位于 AWS codecommit 中的模块 为了克隆存储库 我使用 HTTPS GRC Git 远程代码提交 方法 该方法使用 Google Suite 凭证来访问 AWS 控制台 我用来克隆存储库的命令是 git clon
  • 如何将 SQLite 数据库捆绑到 Go 二进制文件中?

    我尝试使用 go bindata 和 packr 但这些包没有显示如何将 SQLite 数据库文件打包到二进制文件中 我不需要以任何方式更新数据库 我只想在启动时从中读取数据 如何将 SQLite 数据库文件嵌入到 Go 二进制文件中 SQ
  • 如何将 int[] 转换为 uint8[]

    所以 我需要你的帮助 我找不到关于该主题的任何内容 Golang 是一门刚刚诞生的语言 所以对于像我这样的新手来说很难快速找到答案 预先声明的 Goint类型大小是特定于实现的 32 位或 64 位 数字类型 http golang org
  • 复杂数据类型作为 Go 中映射的键

    我正在尝试在 Go 中创建一个由大整数作为键的映射 effective Go 明确指出 结构体 数组和切片不能用作映射键 因为这些类型上没有定义相等性 这是有道理的 我当然可以将大整数转换为字符串并使用字符串作为键 但我在这里寻找更通用的解
  • 有队列实现吗?

    任何人都可以建议使用 Go 容器来实现简单快速的 FIF 队列 Go 有 3 种不同的容器 heap list and vector 哪一种更适合实现队列 事实上 如果您想要的是一个基本且易于使用的 fifo 队列 slice 可以满足您所
  • 如何在golang中创建一个充满“000000...”数据的10MB文件?

    我打算在日志或磁盘队列等系统中使用 fdatasync 首先是在 ext4 等文件系统中创建一个带有 000000 的 10MB 文件 但我不知道如何正确地做到这一点 jnml fsc r630 src tmp SO 16797380 ls
  • 如何使信号量超时

    Go 中的信号量是通过通道来实现的 一个例子是这样的 https sites google com site gopatterns concurrency semaphores https sites google com site gop

随机推荐

  • 将元素均匀分布在列中

    我有一个名为 wrap其中放置物品 未知数量的物品 thing 应排列成四列 相互堆叠 div class wrap div class thing thing1 div div class thing thing2 div div 列需要
  • Webpack 生产构建不加载任何内容

    我已经使用 React 和 Webpack 开发一个应用程序有一段时间了 我的开发环境运行良好 并且使用 webpack dev server 可以正确加载所有内容 我决定运行应用程序的生产构建 以查看最终产品的尺寸 并观察 webpack
  • 使用 java 8 将逗号分隔的字符串列表映射到列表

    我有一个逗号分隔字符串的列表 List format
  • 为什么 MQL4 OrderModify() 在回测时不会修改订单?

    I m trying to ADD a stop loss to my open market orders in MetaTrader 4 when a position gets 100 pips to the good which i
  • 在spring mvc中删除url重写中的jsessionid

    我正在使用 spring MVC 并且在 jsessionid 中遇到问题 我发现如果浏览器中未启用 cookie 则会将 jsessionid 注入到 url 中 从而生成如下 url http localhost categories
  • 如何更改 ViewController 之间的 segue 速度

    可以控制segue速度吗 我查过文档 但苹果没有给出任何方法 但我更喜欢寻找侵入并更改较低级别代码以进行继续的想法慢动作 下面的代码是自定义segue 你可以设置duration代码中的转换 void perform UIViewContr
  • 在.Net 4.0中调试mscorlib

    我从 mscorlib 中的 System IO Path CheckInvalidPathChars 收到以下异常 ArgumentException 非法字符 在路径中 System IO Path CheckInvalidPathCh
  • 这段代码中间接如何工作?

    我正在阅读答案合并两个已排序的链表 https stackoverflow com questions 2348374 merging two sorted linked lists rq 1 代码 define SWAP PTRS a b
  • 如何强制 net.tcp mex 端点 (mexTcpBinding) 参与端口共享?

    我有一个作为 Windows 服务托管的 WCF 服务 我们希望在同一地址启用 mex 端点 但带有 mex 后缀 我一直在尝试使用以下配置来执行此操作 未成功
  • 为什么虚函数没有被调用?

    GUITEXT class guitext public entity public guitext graphics gfx std string text float x float y float size float timeToL
  • 面向 Web 开发人员的 Windows Azure 与 Amazon EC2

    我刚刚观看了 Windows Azure 介绍视频 它让我感觉它是托管 IIS 实例的前端 shell 任何了解更多信息的人 可能是测试版的一部分 是否可以解释为什么您会使用它而不是 EC2 它看起来很简单 但实际上没有详细说明它是如何工作
  • Temporal 或 Uber Cadence 中子工作流程的良好用例是什么?

    我试图了解 Temporal Uber Cadence 子工作流程的用例 与简单地将工作流程拆分为函数相比 子工作流程有什么优势 我有一个相当复杂的工作流程 我正在考虑将其拆分为多个子工作流程 但我不确定这样做的利弊 子工作流可以由不包含父
  • 如何在Delphi 2010下设置泛型类型的前向声明?

    我遇到了一个似乎非常经典的问题 一个项目和一个集合类 两者都互相引用 需要前向声明 我正在使用 Delphi 2010 更新 5 这适用于非泛型类 但我无法解决泛型类型的 E2086 错误 type Forward declarations
  • 在 Mathematica 中自动生成和

    这是我在实现的过程中遇到的一个设计问题广义分配律 https citeseerx ist psu edu viewdoc summary doi 10 1 1 125 8954 假设需要自动生成如下形式的表达式 source yarosla
  • 为什么在数字化示例中 numpy 比 matlab 慢得多?

    我正在比较性能numpy 与 matlab 对比 在某些情况下 我观 察到 numpy 明显慢一些 索引 数组上的简单操作 如绝对值 乘法 求和等 让我们看一下下面的例子 这个例子有点引人注目 涉及到函数digitize 我计划用它来同步时
  • log4j 日志记录层次结构顺序

    log4j 日志记录的层次结构是什么 DEBUG INFO WARN ERROR FATAL 哪一个提供最高的日志记录 这有助于解决问题 任何人都可以提供从最高到最低进行日志记录的顺序或层次结构吗 谢谢 这张表可能对您有帮助 沿着第一列 您
  • iOS 8 数字转换/格式错误? (无法重现)

    以下方法从 UITextField 获取输入并设置其格式以供显示 该代码多年来一直完美运行 但刚刚在使用 iOS 8 1 的 iPhone 6 Plus 上报告了一个问题 对于用户来说每次都会发生这种情况 但我无法重现它 我相信这与 iOS
  • 为什么php命令行无法获取ip地址?

    我的 var www read php 中只有一行 并在本地计算机 127 0 0 1 上构建我的灯 echo SERVER REMOTE ADDR 当输入 127 0 0 1 read php 时 我得到输出 127 0 0 1 何时在控
  • scipy curve_fit 无法拟合 tophat 函数

    我正在尝试将高帽函数拟合到某些数据 即 f x 对于整条实数线来说是常数 但有限长度的一段除外 它等于另一个常数 我的参数是 tophat 函数的两个常量 中点和宽度 我尝试使用 scipy optimize curve fit 来获取所有
  • Go 依赖于 C 运行时吗?

    我找不到 Go 依赖于 C 运行时的信息吗 如果依赖的话 是否静态编译成二进制文件 使得Go编写的应用程序可以在任何地方运行而无需依赖 这里的主题是关于什么是 C 运行时 https stackoverflow com questions