ld(链接器或加载器)程序将目标文件,归档文件和(参考)共享库组合在一起,将其数据和地址与符号引用一起重定位。链接通常是编译程序的最后一步。
欢迎所有真正的解决方案/建议/帮助。先感谢您。 这是我的基本问题: 为什么我的“Print.asm”文件底部的“ClrScreen”过程在某些位置不起作用......
ld:链接 Apple Silicon 时,未找到 -lSystem 错误的库
xcode 版本为 14.3.1 (14E300c) Mac 操作系统是 Ventura 13.5 我正在运行的命令: ld hello.o -o hello -l 系统-syslibroot 'xcrun -sdk macosx --show-sdk-path' -e _main -arch arm64 链接器产生...
假设我有 liba.so 和 libb.so 并且都定义了符号 foo。为了更好地理解,我们假设这两个库都是从单个文件编译的,并且 foo 是一个 C 函数,如下所示: int foo...
当我在 Gtk 中使用 -Wl,-z,noexecstack 标志时核心被转储(c)
我用Gtk3库用C语言编写了一个软件,但它有错误和问题。 当我使用 -Wl,-z,noexecstack 标志使用 GCC 进行编译时,如果我单击 B...
我正在学习 2023 年春季的操作系统课程,并尝试使用他们的说明设置环境,以便我可以完成课程作业。这些说明的一部分是
我正在尝试用 C 语言编写一个小型 Web 应用程序,它使用 libpq 连接到 PostgreSQL。 我在 Debian 13 上安装了 libpq,并使用以下 Makefile 来构建源代码: CC = 海湾合作委员会 ...
我正在尝试通过将所有对象文件组合成一个 .o 文件来减少包含大量(~3000)小对象文件(.o)的大型静态库 libIn.a 的磁盘大小;据我所知...
尝试链接共享库会在 main.c 中抛出未定义的引用。确切的错误是: /usr/bin/ld: /tmp/cc3pGAwi.o: 在函数 `main' 中: main.c:(.text+0x1e): 对“sum”的未定义引用 收集...
我的理解是—— (1) 符号绑定(全局/本地/弱)由链接器用来将符号的范围限制为其定义的目标文件或链接在一起的其他目标文件/库,...
我是 C 新手,正在编写一些代码,但是在运行此代码时我获得了以下代码: C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/bin/../lib/gcc/x86_64-w64-
这是我的说明: 全局_start _开始: 移动ecx,0x12 移动ebx,0x2 标签: 添加 ebx, ebx 十进制 CMP ecx, 0 jg标签 移动eax, 1 整数0x80 我是...
我目前正在尝试使用 LD_PROFILE 环境变量来分析预加载的共享库。 我使用“-g”标志编译库并导出 LD_PROFILE_OUTPUT 以及 LD_PROFILE bef...
我正在尝试使用 Ubuntu 创建一个简单的内核。在终端我输入 ld -Ttext 0x1000 -o kernel.bin loader.o main.o Video.o 但我收到以下错误消息作为回报: ld:i386 建筑...
我正在尝试制作一个简单的操作系统,但似乎无法让链接器工作。 我尝试使用命令: ld -m elf_i386 -o kernel.bin -Ttext 0x1000 kernel-entry.o kernel.o --oformat 二进制文件 但它只是
Arm GCC 链接器:如何将数据放在(rw)非易失性存储器中的绝对地址
我面临以下问题。我正在对 ARM cortex M4 微控制器进行编程,我希望它具有 IP 地址、网络掩码、网关等的默认值。这个默认值...
wsl2 ubuntu g++ 13 ld 无法解析存在的 xerces 引用
构建 xerces-c 3.2.4 并使用最小的 main.cpp 后: // 其他包括文件、声明和非 Xerces-C++ 初始化。 使用命名空间 xercesc; int main(int argc, char* argv[]) { t...
2 个重复符号。如何告诉链接器选择一个而不是另一个? [已关闭]
我有2个库(xxx.a,yyy.a),都定义了一个符号:SYMBOL_X。 当链接它们时,链接器会抱怨符号重新定义。 ld:错误:重复符号:xxx.a(xxx.o): yyy.a(yyy.o): SY...
A.ld 部分 { .rel.rodata.func_reg : { 提供(func_reg_start = .); *(.func_reg.aaa.*) 提供(func_reg_end = .); ... } } 在.text之后插入; 黄曲霉 打字...
如何修复“/usr/bin/ld:警告:trap.o:缺少 .note.GNU-stack 部分意味着可执行堆栈”?
我分别在wsl和我的主要使用的操作系统archLinux中的ubuntu20.04上编译了相同的项目。在 wsl 上,一切正常,而在 archlinux 上,会显示如下错误消息: /usr/bin/ld:
我是 riscv GNU 工具链的新手。编译程序时,出现了一些错误。 /XXX/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imac/lp64/libgcc.a(gedf2.o)... 中名为 **'__gtdf2'** 的隐藏符号...