ld

    1热度

    1回答

    我有一个简单的命令行应用程序(自定义dir二进制文件),我想对其进行测试。调试符号被启用,我可以看到我感兴趣的全局字符串指针the_full_path_name,输出objdump和nm -D。 是否有可能,在c,以某种方式查找那个符号名称/位置,并打印它指向在使用代码注入所述存储器中的内容(即:LD_PRELOAD库与自定义gcc attribute((constructor))和附加功能)?我

    1热度

    1回答

    根据ld的手册页(和用于通过扩展链接的gcc),如果-L选项出现在命令行上,它将应用于由-l指定的所有库,并且优先于默认搜索位置。但是,这不适用于我的链接步骤。我有这样的命令行: -L /用户/我/ MYLIB -lpcre -lz 和/用户/我/ mylib中包含libpcre.so和libz.so(复印件) 这些库存在于系统的其他位置(虽然不一定是相同的版本),而我所看到的(Linux上的ld

    2热度

    1回答

    我目前正在Visual Studio中的Linux Extension 2015年 我计划要使用不同的发行商几个目标机器。到目前为止,我的测试机器是安装了所有必需软件包(openssh,g++,gdb ...)的最新Cygwin的Windows 7。 我正在进行的测试包括一个非常简单的C++“Hello world”文件,VS项目设置是默认的。 一切运行良好,但联动: 架构是由Visual Stu

    0热度

    1回答

    我有一堆.a文件,其生成过程不受我控制,也不是它们的来源。当我使用它们进行链接时,我想知道它们的依赖关系(libA.a取决于libB.a,如果某个符号在libA.a中未定义,但在libB.a中定义),以便我可以在命令行中将它们按正确的顺序排列。 我不想做过多的链接(即指定这些库两次),因为我想将这些依赖关系保存到bazel的BUILD文件中,所以我想知道确切的依赖关系。 我不知道是否有一些命令行工

    1热度

    1回答

    STM32F746G-Discovery板上有一个Quad-SPI NOR设备,我想用它来存储只读数据。 所以理想的是链接器文件为F746G闪存生成一个ELF文件,并为NOR编写一个十六进制文件。 然后,我可以使用STM32 ST-LINK实用程序对目标和外部加载程序进行编程以编程NOR。 任何人都可以友好地指出我可以做到这一点吗?

    1热度

    1回答

    我目前正在利用LD_PRELOAD技巧,并且正在使用链接器版本脚本as detailed in an article on another website。我的MCVE代码包含在下面。 #define _GNU_SOURCE #include <dlfcn.h> #include <stdio.h> #include <stdarg.h> #include <string.h> #inc

    0热度

    3回答

    正如我所见,extern汇编代码中的WinAPI函数的名称有[email protected]。 @4部分的含义是什么,以及如何确定在@之后要使用哪个数字? 我知道这与我们链接的DLL有关,但在很多情况下,我们不知道在@之后使用了什么数字,这会导致许多令人讨厌的undefined reference错误。

    0热度

    1回答

    我试图练习一些实时工具,我看到有一个链接器选项-call-nop = prefix-nop,但它有一些限制,因为它只适用于GOT函数(我不知道如何强制编译器生成GOT函数,并且不确定它是否是性能原因的好主意。)另外,-call-nop = *不能填充多于1个字节。 理想情况下,我想看到一个编译器选项来填充任何特定数量的字节,编译器仍然会执行所有正常的函数对齐。 一旦我有这个填充区域,我可以在运行时

    0热度

    1回答

    -lc与libc链接,但-m将指定它是否应该是32位或64位。 我的问题是,gcc或ld决定哪个libc.so应该是正确的链接库? 谢谢!

    1热度

    1回答

    我试图编译朱古力,当运行make all命令,我有这个链接错误: LD -o .build_release/lib/libcaffe.so.1.0.0-rc3 /usr/bin/ld: cannot find -lhdf5_hl /usr/bin/ld: cannot find -lhdf5 collect2: error: ld returned 1 exit status Makefi