ld相关内容

使文件编译错误未定义符号`strtoflt128'错误

我正在PC上编译Make文件.当我运行它时,它会产生以下错误: R_X86_64_PC32针对未定义的符号'strtoflt128'. 我的PC是Windows 8.1 64位.我已经安装了cygwin64,其中包含以下软件包; gcc-core4.9.3,gcc-g ++ 4.9.3,gcc-fortran 4.9.2-3. 解决方案 此符号由 libquadmath ,因此 ..
发布时间:2020-04-30 08:36:54 其他开发

CMake Build Mac应用程序

我们公司目前使用CMake来为Windows构建我们的可执行文件.我正在努力使我们的应用程序在Mac上运行.到目前为止,该应用程序在Mac上均可正常运行.但是,当我尝试打开CMake为Mac创建的可执行文件时,在终端窗口中出现以下错误: Last login: Tue Apr 16 14:34:58 on ttys001 Locals-MacBook-Pro:~ auser$ /Users/ ..
发布时间:2020-04-30 08:36:52 其他开发

检查静态链接的可执行文件中的文本段

我有一个静态链接的应用程序二进制文件,它链接到多个用户库和pthread库.该应用程序仅使用这些库中每个库的有限功能集.从以前的帖子库和可执行文件的大小以及我的实验我意识到,链接器仅包含使用/需要的功能(在可执行文件中),而不包含库的全部内容. 我想找出每个相应库中的哪些函数已链接 到可执行文件及其地址(VMA).最终,我想根据映射到文本段的函数(在库中)为每个库编译一个包含开始和结束虚拟内 ..
发布时间:2020-04-30 08:36:46 服务器开发

为什么更改链接顺序可以解决一个系统上的某些链接错误?

所以我在GitLab CI上有这种奇怪的行为.我可以使用它,但是现在我想知道为什么它可以使用. 首先,我从GitLab CI开始.我在机器(Arch Linux)上安装了docker本地运行程序,因此我无需等待就可以进行测试.我用googletest框架编写了一个测试(只有一个断言为true).我在本地触发了脚本,一切正常.所有测试均在本地docker映像中通过. 现在,当一切正常时, ..
发布时间:2020-04-30 08:36:44 C/C++开发

LD_PRELOAD和链接

我有这个小的测试代码atfork_demo.c: #include #include void hello_from_fork_prepare() { printf("Hello from atfork prepare.\n"); fflush(stdout); } void register_hello_from_fork_p ..
发布时间:2020-04-30 08:36:42 其他开发

从C获取* ABS *符号的值

从C中访问*ABS*(绝对值,不可重定位)符号的实际值的正确方法是什么? 我正在使用ld将数据(... HTML模板)嵌入可执行文件中(...按照 ld -r -b binary [the_file_to_be_embedded] -o [some_object.o] 然后,我正在使用 const char _some_object_start; const char _some ..
发布时间:2020-04-30 08:36:39 其他开发

/usr/bin/x86_64-linux-gnu-ld:找不到?

我在ubuntu 18.04(gcc 7.3)中学习C语言 输入make all命令时,会发生此错误: /usr/bin/x86_64-linux-gnu-ld:找不到-lkeccak Makefile如下. CC=gcc CFLAGS=-03 -fomit-frame-pointer -msse2avx -mavx2 -march=native -std=c99 all ..
发布时间:2020-04-30 08:36:35 其他开发

如何将程序加载到与目标地址不同的内存中?

通常,用户程序二进制文件将被装入程序地址空间中的低地址(通常在0x400000附近),该地址将在elf二进制文件中指定(对于linux). 我们是否可以强制用户二进制文件在高地址处加载,可能在libc或其他此类库已加载的地址的2GB地址范围内? 我尝试过在网上找到解决方案,但是找不到任何具体的解决方案. (我正在使用Ubuntu 12.10 64位OS) 谢谢 解决方 ..
发布时间:2020-04-30 08:36:31 服务器开发

与gcc/g ++和ld的配置文件链接时间

我正在使用g ++编译和链接一个由大约15个c ++源文件和4个共享对象文件组成的项目.最近,链接时间增加了一倍以上,但是我没有可用的makefile历史记录.有什么方法可以对g ++进行概要分析,以查看链接的哪部分需要花费很长时间? 编辑:在我注意到makefile一直在使用-O3优化之后,我设法通过删除该开关将链接时间减半了.如果没有反复试验,有什么好的方法可以找到这个? 编辑:我 ..
发布时间:2020-04-30 08:36:26 其他开发

链接器文件中输入部分和输出部分之间的区别?

虽然在生成的二进制文件或ELF文件的上下文中可以清楚地知道什么是节,但是文档中的许多位置(与所使用的编译器无关)将它们称为Input或Output节. 两者之间有什么区别? 解决方案 链接器使用目标文件(可能还有共享库)并输出 可执行文件或共享库.输入对象文件由命名 部分-.text,.data,.rodata,.bss等.输出文件也是如此. 它 是链接器工作的主要部分,用于合 ..
发布时间:2020-04-30 08:36:24 其他开发

交叉编译为什么ld找不到共享库/如何进一步调试?

我正在尝试为我的arm路由器交叉编译和链接ubuntu上的聚合,但出现以下错误.过去,我认为我可以通过设置适当的环境变量来解决此问题,但这一次不起作用.谁能帮我弄清楚为什么这可能行不通: /home/ubuntu/Downloads/toolchain-arm_cortex-a9_gcc-4.9-linaro_musl-1.1.2_eabi/bin/../lib64/gcc/arm-open ..
发布时间:2020-04-30 08:36:20 其他开发

克隆系统调用OS X不链接-未定义符号

我想在OS X上使用clone系统调用.这是Unix系统调用,因此应该没有问题,对吧?我已经成功尝试使用fork,vfork和其他类似功能.这是我正在尝试的程序: #include //Clone resides here #include //standard library #include #include ..
发布时间:2020-04-30 08:36:14 其他开发