cost 126 ms
是否可以告诉 linker 使用带有一些重复符号的库,就好像这些符号实际上是不同的一样? - Is it possible to tell a linker to use libraries with some duplicated symbols as if the symbols were actually different?

我们正在向客户分发四种不同的 static 库: 库 A:包含一些常用函数,但也包含来自 linux 的一些嵌入式通用库,这些库不打算公开给客户,而是公开给我们的其他库(因此我们需要导出符号) 库 B:有一些未解析的符号,可以在库 A 中找到库 C:有一些未解析的符号,可在库 A 中找到库 D:有 ...

通过仅查看可执行文件来检测链接二进制文件何时完成? - Detect when linking a binary has finished by looking at just the executable?

我们的项目所用语言的构建工具会并行编译和链接,用于许多不同的二进制文件等。 在 CI 中,我们有一个单独的线程来查找这些已编译的二进制文件,因为它们可用并启动其他进程。 问题是似乎仅仅等待文件存在并变成chmod a+x是不够的,有时我们最终会上传损坏的二进制文件。 有什么方法可以仅通过查看文件来 ...

如何处理.debug_info 重定位 R_X86_64_32 超出范围:4295935474 不在 [0, 429496729] - How to handle .debug_info relocation R_X86_64_32 out of range: 4295935474 is not in [0, 429496729]

我正在构建一个 cpp 项目,但链接失败,因为.debug_info段太大,超过2^32-1 。 是否有工具可以定位代码的哪一部分具有较大的.debug_info段,或者是否有办法消除此限制? 编译器版本: 错误: ...

2022-11-03 06:17:14   1   24    gcc / g++ / ld / lld  
Darwin `ld` 顽固地找不到目标文件中定义的符号,而 `lld` 可以 - Darwin `ld` stubbornly won't find symbol that's defined in object file, while `lld` does

使用 macOS 的内置ld时,出现以下错误: 但是,该符号是在同一个目标文件中定义的函数。 在目标文件上使用objdump ,我可以确认该函数确实存在: 为了确保我没有发疯,我决定亲眼看看 Ghidra(请参阅附图)。 所以我的问题是,是什么让 macOS 的ld找不到这个符号? 使用 ...

即使通过了 -fno-lto,lld 也会运行 LTO - lld runs LTO even if -fno-lto is passed

我有一个包含多个子项目的 CMake 项目,这些子项目创建了使用-flto=thin构建的静态库。 该项目有很多与上述库相关联的测试。 使用 LTO 需要花费大量时间来构建测试,因此我使用-fno-lto禁用了 LTO 进行测试。 不过,我注意到的是,即使使用-fno-lto , lld也会在测 ...

预处理过程和后处理任务使用哪种设计模式 - Which design pattern to use for pre-process process and post-process task

我正在开发一个迁移引擎,将数据从旧系统迁移到新系统。 它分为3个步骤。 首先从旧表中获取数据。 准备请求主体以通过 API 插入到新表中后处理步骤。 这里使用哪种设计模式? 我正在考虑使用构建器模式在我执行多个 API 调用以将数据插入新表的第二步中。 这有一些顺序。 如果 API 调用失败,则需要 ...

使用 Rust 构建 `.wasm` 二进制文件时访问 `__heap_base` - Accessing `__heap_base` when building a `.wasm` binary with Rust

想要遵循本文中所做的工作: https : //surma.dev/things/c-to-webassembly/但使用 Rust 并编写自定义分配器。 为此,我需要访问__heap_base变量,该变量被 llvm 添加为堆在线性内存中起始位置的指针。 有没有办法在 Rust 中实现这一点? ...


 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM