标签: libraries

哪个是 Linux 中使用的“标准”配置解析器库?

在 Linux 应用程序中,我不想使用“我自己的”配置解析器,而是使用(应该是?)已经可用的配置解析器。简单地保持应用程序配置的维护简单并且不添加额外的库。

linux configuration libraries

0
推荐指数
1
解决办法
1184
查看次数

有动态链接库的rpath吗?

因此,我正在从事的项目使用非系统目录来保存代码使用的一些 DLL。我不想将它们放在系统目录中,因此可执行文件设置了一个 rpath 来查找 DLL。然而,随着越来越多的库被添加,现在有 DLL 依赖于该目录中的其他 DLL。

这些库无法找到它们所依赖的 DLL,因为它们不位于链接器正在查找的目录中,例如系统目录。

有没有办法让 DLL 搜索这个特定的非系统目录?比如rpath?图书馆是如何做到这一点的?该项目使用的构建系统是 CMake(如果这有助于回答)。

这个答案不起作用,因为库中没有 rPath 标签: https: //unix.stackexchange.com/a/272286/4193

我考虑过使用LD_LIBRARY_PATH, 这很有效,但打字很烦人,而且让其他人使用该应用程序也不是那么好。如果有办法将rPath标签添加到库中,那将是最好的选择。

感谢指向以前的相关问题和答案。

libraries dynamic-linking shared-library

0
推荐指数
1
解决办法
6196
查看次数

适用于 RHEL/CentOS 7 的 32 位库 GCC

yum groupinstall "Compatibility Libraries"

Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager
There is no installed groups file.
Maybe run: yum groups mark convert (see man yum)
Warning: Group compat-libraries does not have any packages to install.
Maybe run: yum groups mark install (see man yum)
No packages in any requested group available to install or update

yum groupinstall "Compatibility Libraries" --setopt=group_package_types=mandatory,default,optional

Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager
There is no installed groups file.
Maybe run: yum groups mark convert (see man …
Run Code Online (Sandbox Code Playgroud)

rhel libraries compatibility gcc 32bit

0
推荐指数
1
解决办法
8226
查看次数

编译库的 ABI 是否取决于操作系统?

我刚刚读了一个 ABI 的例子。这是正确的吗

  • ABI 与 API 类似,不同之处在于 ABI 是机器语言,而 API 是高级编程语言

  • ABI 是由机器语言编译库提供并属于其的接口吗?(如果我没猜错的话,一个自制的编译库提供了它的ABI(参见上面的例子)。操作系统可以被视为一个编译库,从而为应用程序访问其系统调用服务提供了自己的ABI。)

上面的例子并没有提到自制编译库的ABI是否依赖于操作系统。

https://en.wikipedia.org/wiki/Application_binary_interface但是提到了操作系统:

ABI 涵盖以下详细信息:

处理器指令集(详细信息如寄存器文件结构、堆栈组织、内存访问类型等)

处理器可以直接访问的基本数据类型的大小、布局和对齐方式

调用约定,控制函数参数的传递方式和返回值的检索方式;例如,是否所有参数都在堆栈上传递,或者某些参数在寄存器中传递,哪些寄存器用于哪些函数参数,以及堆栈上传递的第一个函数参数是首先还是最后压入堆栈

应用程序应如何对操作系统进行系统调用,如果 ABI 指定直接系统调用而不是对系统调用存根的过程调用,则系统调用号

而对于完整的操作系统ABI来说,则是目标文件、程序库等的二进制格式。

编译库的 ABI 是否取决于操作系统?(我想不会。即使编译库通过操作系统的 ABI 使用系统调用服务,依赖于操作系统(的 ABI)的是编译库而不是其 ABI。)

编译库的 ABI 可以独立于操作系统(的 ABI)吗?

谢谢。

libraries api

0
推荐指数
1
解决办法
375
查看次数