ld 相关问题

ld(链接器或加载器)程序将目标文件,归档文件和(参考)共享库组合在一起,将其数据和地址与符号引用一起重定位。链接通常是编译程序的最后一步。

ELF phdr:将来自多个可执行文件范围的内存页拼凑在一起

我正在修补(静态链接)ELF 可执行文件。 我想从二进制文件的多个不同部分在虚拟地址空间中创建页面。 这是一个简单案例的可视化...

回答 1 投票 0

“-fno-pie”和“-no-pie”的区别

我没有找到任何关于“-fno-pie”和“-no-pie”之间区别的有用信息。它们是 gcc 标志还是 ld 标志?它们是否都需要? 我找到了一块 makef...

回答 1 投票 0

使用可见性或链接器隐藏/删除精灵符号,无需共享库

我想从 C 库/文件的正常使用中隐藏一些符号,以防止名称冲突并避免 API 的可能扩展(Hyrum 定律)。静态符号是隐藏的(但我的使用...

回答 0 投票 0

使用链接器脚本重定位变量

我正在尝试使用链接器脚本将一些用 __attribute__((common)) 定义的变量重新定位到自定义部分,最好是在我选择的某个地址。我的方式...

回答 0 投票 0

使用 PHP 嵌入支持在 macOS 上构建 PHP

我正在尝试从 macOS 上的源代码构建 PHP 8.2.5,以在我的 C 应用程序中启用 PHP-Embed 的功能。使用提供的 ./configure 和 make 后,构建过程生成 Linux-st...

回答 0 投票 0

定义全局结构

我有一个名为 global_params.c 的文件,其中包含许多全局变量。在该文件中,我尝试将它们合并为一系列结构。我试图将这些定义为全球标准......

c gcc ld
回答 0 投票 0

LD 缺少文件

安装所有关于 LD 的库后,我不断得到以下信息 错误输出: /usr/bin/ld: 找不到 -lsdl: 没有那个文件或目录 /usr/bin/ld: 找不到 -lsdl_mixer: 没有那个文件或

回答 0 投票 0

如何使用cmake生成Map文件

我正在尝试交叉编译,主机是 windows 目标是 stm32(arm)。我正在尝试从 arm-none-eabi-ld 生成一个映射文件。 我的问题是双重的 我无法生成地图文件。这是我的

回答 2 投票 0

Linux C++ VS Code 找不到库

我在 VS Code 中构建我的 C++ 代码时遇到了问题。出于某种原因,我可以在 linux 终端中使用 g++ 编译我的代码,但是当我尝试在 VS Code 中构建我的项目来调试它时,它说它不能

回答 0 投票 0

创建共享对象时 .data 重定位的链接器错误

我不明白为什么我有这个错误:ls: filename: relocation R_X86_64_32 against '.data' cannot be used when making a shared object;使用 -fPIC 重新编译。 我试着理解这个问题,我

回答 0 投票 0

GNU libc 2.31 对“xdr_string”的未定义引用

xdr_string 应该是 glibc 的一部分吗?我在 glibc 2.31 中得到了对 xdr_string 的未定义引用。我检查了符号,似乎所有 xdr_* 方法都有 @GLIBC_2.2.5 后缀。 % rpm -qf libc.so.6 glibc-2.31-...

回答 0 投票 0

为什么我的 LD 会抱怨无效的 __stack_chk_local_fail_?

我正在尝试在 Monjaro (x86-64) 上用 Microsoft VS 代码编译一个操作系统项目,并反复获得以下输出: gcc -m32 -nostdlib -nodefaultlibs -lgcc start.o libc/string/memcmp.o

回答 0 投票 0

错误:使用“ld”链接可重定位的 NASM ELF 时未定义对“scanf”的引用

我有一个使用以下命令编译的 NASM 程序集文件: nasm -felf64 -g -Fdwarf groundFloor.asm -o file.o 其中 groundFloor.asm 是我的 NASM 文件。使用 ld file.o -o file 给我一个 undef ...

回答 0 投票 0

带有“-print-memory-usage”的 ld 输出的奇怪行为

我正在尝试获取微控制器使用 RAM 和闪存部分的百分比。 这是链接器文件。 (工具链:xPack for RISC-V、GCC-12.2) 当我使用第一个符号时: .stack O...

回答 0 投票 0

无法在 MacOS Monterey 上编译 fortran:ld:YAML 文件中不支持的 tapi 文件类型 '!tapi-tbd'

每当我尝试编译 Fortran 代码时,我都会遇到错误: % gfortran Testing_Fortran.f90 -o Testing_Fortran ld: YAML 文件 '/Library/Developer/

回答 2 投票 0

gcc/ld:使用-Wl,-rpath -Wl调用TensorflowLite库

我正在使用 Pybind11 运行在 Python 中使用 TensorflowLite 的 C++ 库。目前我有以下项目结构: 项目结构: *include: (带头文件的文件夹) ---- 模...

回答 0 投票 0

是否有 MSVC 的链接器开关 /VERBOSE 的 Linux 模拟?

在 MSVC 上,当我添加链接器开关 /VERBOSE 时,我能够跟踪各个函数的链接解析,从而跟踪库链接的原因: -Wl,--verbose 不一样......

回答 0 投票 0

在 Mac 上使用 std::ofstream 时如何解决未定义的符号

更新:我也包括对 ld 的孤立调用。并提供第二个示例 main 函数,该函数成功编译、链接和调用 std:: 方法。两者都出现在 t 的末尾...

回答 1 投票 0

Linuxbrew如何使用llvm或gcc-12提供的标准库,而不使用系统stdc++?

我用brew安装了gcc-12 glibc llvm,我用clang编译了一个程序,但是这个程序依赖于系统stdc++和ld,而不是llvm提供的。 那么我怎样才能使clang编译的程序依赖...

回答 0 投票 0

gcc/g++ 中 `-l`(小写“L”)标志的含义

传递给 gcc/g++ 的 -l(小写“L”)标志的含义是什么?我在哪里可以找到有关它的文档或教程? 我试过在 man gcc 和 man ld 中搜索 -l,但是那有...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.