C - 包含依赖项的编译

2023-11-26

我有一些代码想在我没有 root 访问权限的机器上运行。 该机器没有运行此代码所需的一些库。

有什么方法可以在编译时包含所有依赖项吗?我意识到生成的文件可能非常大。


您正在寻找的是静态编译。执行静态编译将所有库包含到可执行文件本身中,因此您不必太担心特定系统、发行版等上的依赖链。

您可以通过以下方式执行此操作:

gcc -Wl,-Bstatic -llib1 -llib2 file.c

The -Wl将以下标志传递给链接器,-Bstatic告诉它如果可能的话链接静态,然后lib1, lib2,是您要链接的库。

或者,尝试:

gcc -static file.c

编译仍然需要匹配非特权系统的体系结构。并且您需要在编译系统上安装静态库(lib.a)

如果编译正确,运行时应该显示“不是动态可执行文件”:

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

C - 包含依赖项的编译 的相关文章

  • Task.Factory.StartNew 或 Parallel.ForEach 对于许多长时间运行的任务? [复制]

    这个问题在这里已经有答案了 可能的重复 Parallel ForEach 与 Task Factory StartNew https stackoverflow com questions 5009181 parallel foreach
  • 如何向WebRequest添加参数?

    我需要从 Web 服务调用一个方法 所以我编写了以下代码 private string urlPath http xxx xxx xxx manager string request urlPath index php org get or
  • 是否有可能将 *.pdb 文件包含到发布版本中以查看错误行号?

    我做了一个项目 所有设置都是默认的 当我在调试模式 构建配置 调试 下运行它并遇到异常时 它转储到我的自定义日志记录机制 其中包含错误行号 但是当我运行发布构建时 记录相同的异常 没有行号 只有方法抛出和记录调用堆栈 是否有可能在发布配置
  • 在异步请求中使用超时回调

    我之前问过这个问题 但我将用提出的解决方案来完成这个问题 并提出另一个问题 我正在使用这个类来进行异步网络请求 http msdn microsoft com en us library system net webrequest aspx
  • c 使用 lseek 以相反顺序复制文件

    我已经知道如何从一开始就将一个文件复制到另一个文件 但是我如何修改程序以按相反的顺序复制它 源文件应具有读取访问权限 目标文件应具有读写执行权限 我必须使用文件控制库 例如 FILE A File B should be ABCDEF FE
  • += 运算符在 C++ 中是如何实现的?

    这是我一直在思考的一个问题 但从未找到任何资源来说明这个问题的答案 事实上它不仅是为了 也适用于它的兄弟姐妹 即 等等 当然不是 考虑这个例子 int a 5 a 4 this will make a 9 现在考虑等效表达式 a a 4 T
  • 使用 catch all 字典属性将 json 序列化为对象

    我想使用 JSON net 反序列化为对象 但将未映射的属性放入字典属性中 是否可以 例如给定 json one 1 two 2 three 3 和 C 类 public class Mapped public int One get se
  • 如何解决文件被另一个进程使用的问题?

    我一直在 VS NET 2010 中调试 没有任何问题 但现在无法建造 我收到错误 Unable to copy file filename to bin Debug filename The process cannot access t
  • 这些工作队列标志意味着什么?

    在研究工作队列时 我遇到了内核中定义的工作队列标志和常量 我有以下我无法理解的疑问 这里的排水和救援到底是什么意思 WQ DRAINING 1 lt lt 6 internal workqueue is draining WQ RESCUE
  • 禁用实体框架的默认值生成(Code First)

    我数据库中有一个列不能为空 我想将其设置为默认值在数据库中 问题是实体框架似乎自己创建了一个默认值 例如 int gt 0 并且完全忽略了数据库中的默认值约束 有没有办法禁用实体框架的默认值 我发现您可以使用以下属性来装饰您的字段 Data
  • 如何在 ASP.NET Core 项目中使用 MStest 测试 Ok() 结果

    我正在使用 MStest 来测试我的控制器 我想测试这个动作 HttpGet Name GetGroups public async Task
  • Code::Blocks 中的调试似乎不起作用 - 缺少调试符号

    我正在尝试在 Code Blocks 中调试程序 我跟着本指南 http wiki codeblocks org index php title Debugging with Code Blocks and 这个短视频 http www y
  • 使用 WinAPI 连接禁用的显示设备

    我的问题是启用禁用的监视器ChangeDisplaySettingsEx 我想这不是火箭科学 但经过一番挖掘后 它看起来仍然是不可能的 我找到了一种根据找到的 Microsoft 代码示例禁用所有辅助显示器的方法here https msd
  • 如何使用“路径”查询 XDocument?

    我想查询一个XDocument给定路径的对象 例如 path to element I want 但我不知道如何继续 您可以使用以下方法System Xml XPath Extensions http msdn microsoft com
  • C# 模式匹配

    我对 C 有点陌生 我正在寻找一个字符串匹配模式来执行以下操作 我有一个像这样的字符串 该书将在 唐宁街 11 号接待处 并将由主要医疗保健人员参加 我需要创建一个 span 标签来使用 startIndex 和 length 突出显示一些
  • 检查另一种形式的线程是否仍在运行

    我有一个涉及两个窗体的 Windows 窗体应用程序 子表单用于将数据导出到 CSV 文件 并使用后台工作者写入文件 当这种情况发生时 我隐藏了表格 当后台工作程序运行时 父窗体仍然处于活动状态 因此即使后台工作程序正在写入文件 用户也可以
  • 使用方法的状态模式

    我正在尝试使用方法作为状态而不是类来基于状态模式的修改版本来实现一个简单的状态机 如下所示 private Action
  • Web API 2.0 使用 pascalcase 模型接收驼峰式命名的 JSON 数据

    我正在尝试对我的 Web API 进行 PUT 调用 我在 WebApiConfig cs 中设置了以下内容 以处理以驼峰形式将数据发送回我的 Web 项目 config Formatters JsonFormatter Serialize
  • 在两个点之间创建一条曲线,每个点都具有标准化向量

    因此 我需要一种写入方法来在两点之间创建一条曲线 每个点都有一个指向任意方向的归一化向量 我一直在尝试设计这样一种方法 但一直无法理解数学 在这里 由于一张图片胜过一千个文字 这就是我所需要的 在图中 矢量垂直于红线 我相信向量需要进行相同
  • 有没有办法在 C# 中仅通过文件名查找文件?

    我们现在使用绝对路径或相对路径在 C 应用程序中查找文件 如果文件位于当前工作目录下或 路径 之一下 有没有办法仅通过名称查找文件 使用绝对路径不好 使用相对路径也不够好 因为我们可能通过重命名或移动项目文件夹来更改项目结构 如果我们的代码

随机推荐

  • OpenCV unproject 2D 指向具有已知深度“Z”的 3D

    问题陈述 我正在尝试将 2D 点重新投影到其原始 3D 坐标 假设我知道每个点的距离 继OpenCV 文档 我设法让它以零失真的方式工作 然而 当存在扭曲时 结果就不正确 目前的方法 因此 我们的想法是反转以下内容 分为以下内容 By 使用
  • 使用 jQuery 的“是”或“否”确认框

    我想要使 用 jQuery 发出 是 否 警报 而不是 确定 取消 按钮 jQuery alerts okButton Yes jQuery alerts cancelButton No jConfirm Are you sure func
  • Qt XML 中属性的顺序不正确

    我有以下代码 element clear element setTagName accountpoint element setAttribute code QString ID CONST serial element setAttrib
  • 自动构建 NuGet 包,包括引用的依赖项

    我想要运行本地 内部 NuGet 存储库 我想我已经弄清楚如何 重用 现有的 NuGet 包 方法是将它们包含在使用 NuGet 的虚拟项目中并扫描包文件以获取我的本地缓存 nupkg files but 如何创建 nuget 包 nupk
  • 将 2D 数组转换为 3D numpy 数组

    我创建了一个 numpy 数组 数组的每个元素都包含相同形状的数组 9 5 我想要的是一个 3D 数组 我尝试过使用 np stack data list map lambda x getKmers x 9 data getKmers cr
  • RabbitMQ / AMQP 中的消息组

    ActiveMQ JMS 有一个内置机制 可确保在使用竞争消费者模式时 共享公共标头 即 JMSXGroupID 标头 的消息始终由队列的同一使用者使用 队列的消费者完全不知道实际的标头值 因为具有公共标头的消息的保证是在服务器端而不是消费
  • 估计未定义表面的梯度

    我想估计一个梯度 斜率和坡向 不明确的表面 即函数未知 为了测试我的方法 这里是测试数据 require raster require rasterVis set seed 123 x lt runif 100 min 0 max 1 y
  • 为什么 std::vector::insert 使插入点之后的所有迭代器无效

    When insert ing 成std vectorC 标准确保插入点之前的所有迭代器都保持有效 只要capacity未耗尽 参见 23 2 4 3 1 或std vector 迭代器失效 不允许插入点之后的迭代器保持有效 如果容量未耗尽
  • C# 4.0 中的类属性/字段可以是匿名类型吗?

    As in public class MyClass private static var MyProp new item1 a item2 b 注意 上面的代码既不能编译也不能工作 var 不能在那里使用 它只是为了表明我的观点 Upda
  • iOS 7 中锁屏播放器的搜索栏问题

    如果我在 iOS 7 中通过 iPhone 的本机音乐播放器播放音乐并在锁定屏幕上访问它 那么我可以拖动播放器的搜索栏 即用户可以与其交互 截屏 但是 如果我从支持后台音频播放的应用程序播放音乐 则播放器的搜索栏用户交互将在锁定屏幕上禁用
  • 如何从Linux内核访问用户空间内存?

    我知道copy to user copy from user get user put user函数就是为了这个目的 我的问题是 给定一个用户空间地址 指针 我如何从内核访问该地址指向的数据 我可以想象 首先我必须确保包含的页面应该位于物理
  • 空手道-需要帮助来断言日期范围的一维数组

    我试图断言一维数组内的值 我尝试过使用 match 但看起来无法断言日期范围 下面是对象数组 2019 04 24T17 41 28 2019 04 24T17 41 27 975 2019 04 24T17 41 27 954 2019
  • 在服务器上使用socket.io和nodejs,并以apache作为反向代理

    我尝试将 Node js 与 Socket IO 结合使用来促进浏览器和客户端之间的消息传递 如下导游 但是 我必须在 Apache 后面设置 Node 反向代理 因此 我使用 example com nodejs 代替 example c
  • Google Appengine 和 rx-Java?

    rxJava 库与 Google Appengine 兼容吗 如果可以的话有什么限制吗 我发现的唯一信息是提到 grepcode 上的 部分支持 http grepcode com snapshot repo1 maven org mave
  • Android RecyclerView 选择第一个 Item

    我正在使用 RecyclerView 来实现 NavigationDrawer 我让点击事件正常工作 但我不知道如何在应用程序启动时选择第一个项目 然后即使未显示抽屉 也可以保持所选项目高亮显示 我所能找到的只是 RecyclerView
  • mysql CREATE VIEW 无法从 mysql_query 工作

    我有一个在 mysql 数据库中创建 VIEW 的代码 该代码在我的本地服务器上运行良好 它可以正常创建和裁剪视图 但在我的在线服务器上它给出了错误 CREATE VIEW command denied to user 对于在线数据库 我在
  • C#:在并行线程中设置 HttpContext.Current 有什么问题吗?

    我正在使用一个依赖于 HttpContext Current 的库 该库是 Facebook C SDK 但我的问题也应该适用于其他场景 我想从并行线程内部使用这个库 但是 HttpContext Current 在并行线程中不可用 因此我
  • Haskell 中 FFI 调用的类型自动转换

    我定义了以下模块来帮助我导出 FFI 函数 LANGUAGE MultiParamTypeClasses FunctionalDependencies TypeSynonymInstances module ExportFFI where
  • 无法制作完整的帧缓冲区对象 8cd6(iOS,以编程方式创建的 OpenGL 视图)

    我在让以编程方式创建的 OpenGL 视图在某些 iOS 版本 设备上运行时遇到问题 这似乎在越狱设备上最常见 但在普通设备上也会发生 似乎只有 v4 1 或 4 2 1 才会失败 我的设备已越狱 这不是我的 当然也不是我选择越狱的 并且装
  • C - 包含依赖项的编译

    我有一些代码想在我没有 root 访问权限的机器上运行 该机器没有运行此代码所需的一些库 有什么方法可以在编译时包含所有依赖项吗 我意识到生成的文件可能非常大 您正在寻找的是静态编译 执行静态编译将所有库包含到可执行文件本身中 因此您不必太