问题标签 [libdl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
98 浏览

linux - 针对信号函数的调用指令后的奇怪回溯

我尝试evince-3.28.4使用GDB. callq中的某个点有一条指令libdl,如下所示(即,在 处_dl_lookup_symbol_x+840):

当执行到这里,回溯如下:

但是当我输入ni(跳转到下一条汇编指令)时,它变成了这样:

可以看出,经过简单的调用和返回,4 个元素被弹出栈。_dl_signal_cexception()< , __GI__dl_catch_exception()> 对可能有一些特别之处。call堆栈通过或以外的其他方式更改return。似乎_dl_signal_cexception()最终导致了一个修改回溯的__longjmp()函数。../sysdeps/x86_64/__longjmp.S有人可以描述这个过程吗?

0 投票
0 回答
504 浏览

cmake - 如何指定 gcc 使用“libdl.so.2”库使用 CMake 进行链接?

交叉编译 mosquitto 库时出现此错误。

我对 CMake 很陌生,我不知道如何指定使用这个库。我已经尝试过选项,但没有运气。

这是我的手臂工具链

请问,有人可以帮忙吗?

0 投票
0 回答
119 浏览

linker - 如何修改 glibc 动态链接器以与不支持静态二进制文件的 x86 解释器一起使用?

我不知道我是否可以在这里问这类问题,但无论如何我都会这样做。

我试图在浏览器中运行 32 位 linux 二进制文件,因此我将 box86 编译为wasmbox86js)并直接在浏览器中运行几个简单的二进制文件。

现在我想要一个动态链接器,它本身依赖于 libc SDL2 GL,也许还有其他一些,当加载依赖于这些库的二进制文件时,它会用自己的符号解析这些库的符号。

通过这种方式,我希望我可以在浏览器中运行更复杂的二进制文件,其性能比jslinux更好,并且可以完全访问浏览器 API,而且我认为拥有一个可以在本机和浏览器中运行的单个文件非常酷。

glibc 有太多的活动部件,我希望你能帮助我。

我在我的 x86_64 debian sid 系统上使用这些命令编译了 glibc

您可以在此处查看仅编译 ld.so 的相关部分(主文件为 rtld.c)

我修改了 rtld.c 中的几个地方并尝试编译它,但给了我很多未定义的符号

0 投票
0 回答
25 浏览

ms-word - 警告:打开了不熟悉的不安全文档

我正在 Genero Enterprise 中编辑 Word 文档。在打开文档之前,我收到以下警告:

微软 Word 警告

这转化为:

打开了不熟悉的不安全文档。

这表明创建文档的用户与尝试编辑文档的用户不同,但事实并非如此。

我究竟做错了什么?

0 投票
1 回答
79 浏览

c - 在共享库中动态加载函数会导致分段错误

我有这个简单的图书馆

lib.h

lib.c

我使用它编译到一个共享库

但是当我在应用程序中使用这个库时,vkEnumerateInstanceLayerProperties在第 18 行调用时会出现段错误。

更重要的是,如果我将名称更改为其他名称vkEnumerateInstanceLayerProperties,例如test,那么一切正常并且(在我的系统中)6被打印出来。如果我根本不使用动态库,它也可以工作,即我直接lib.c与一起编译而没有.main.c-fPIC

是什么原因造成的,我该如何解决?

0 投票
0 回答
47 浏览

julia - 在 Julia 编程语言中执行 C 代码时出现异常访问冲突错误

我正在关注 JuliaAcademy ( https://github.com/JuliaAcademy ) 的一些示例代码。

我正在尝试从 Julia 中运行 C 代码。我使用的是 64 位的 Windows 10,并且在我的计算机上安装了 gcc,并且在 Atom IDE 上安装了运行 Julia。

这是我正在运行的代码片段:

open gcc 命令执行,每一行代码似乎都运行良好,直到我调用 c_sum(a) 时的最后一行。

一旦我调用 c_sum() 函数,Julia 就会退出并产生以下错误消息:

我认为能够在 Julia 中运行和执行 C 函数非常有用,因此我希望能够在我的计算机上提供一个工作示例。

谁能帮我这个?也许是我使用的是 Windows PC?自从我在 Windows 机器上安装 gcc 已经有一段时间了。上面的代码是否应该与通过 MingGW 或 CygWin 安装的 gcc 一起使用?或者 Julia 是否假设您正在运行的机器是 Unix/Linux?

0 投票
1 回答
55 浏览

python - 如何修复 ImportError:System.DllNotFoundException:libdl.so

当我尝试aesim.simba在 Jupyter 笔记本(我有 Ubuntu budgie 21.10 作为操作系统)中导入(电力电子包)时,出现以下错误

我是 Linux 世界的新手。谁能告诉我如何解决这个问题以及如何aesim.simba正确导入?