问题标签 [binutils]
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.
c++ - 如何清除gdb命令屏幕?
是否可以清除gdb的命令窗口?clear
我的意思是,gdb 中是否有与bash 终端中的命令执行相同(对于命令窗口)的命令?
linux - 为什么 binutils 或 gcc 安装在两个位置?
我正在学习 linux 知识,当我编译 binutils 或 gcc 并安装它们时,它们总是出现在两个位置。
我想这一定是一个原因,我不知道为什么?
其实我正在学习lfs。当我编译 binutils 的 pass I 时,书中的说明是:
在 I make
&&之后make install
,它安装在两个位置:/tools/bin
和/tools/$LFS_TGT/bin
.
我想知道这样做的原因和目的。
debugging - GDB 中的键映射
是否可以在 GDB 中为命令定义任意组合键?我想知道是否有类似 vim map 命令的东西。例如,我想映射到下一个,到一步,等等..
c++ - 我可以从 C++ 的库中包含/导入单个函数吗
我只需要使用iequals
BOOST 库中不区分大小写的字符串比较函数。
我正在使用#include <boost/algorithm/string.hpp>
它来导入它。
有什么办法只能自己导入iequals
函数吗?
我什至关心的原因(我真的只是好奇。)是因为如果我不这样做,编译的 DLL 大约为 230kB,如果我这样做#include
,大约为 1.1MB。在这种特殊情况下,文件的大小并没有太大的区别,但似乎有很多东西被导入但从未使用过。如果库只有几 GB 而我只需要其中一个功能怎么办?然后这将成为一个问题,我想。
诚然,当涉及到任何与 cpp 相关的事情时,我都很天真,但我觉得在可能 90% 的代码没有使用时包含一些 750kB 的代码并不是很有效。可能是该iequals
函数使用了所有 750kB,我不知道。
再说一次,如果iequals
函数包含许多相同的库,文件仍然会一样大。
想法?
提前感谢您的任何建议。
编辑:
感谢您的回复。我正在尽我所能理解他们。
我是一名化学工程师,正在将一堆极其缓慢且优化不佳的 VBA 宏重写为 C++ DLL。到目前为止,结果非常出色,一切正常。如果我只需要在两个字符串之间进行单一类型的比较,我只是不认为需要额外的文件大小。
我需要做的比较示例如下:
或更确切地说:
如果这是我必须做的唯一比较类型,我可以以比以下更简单的方式进行比较:
通过以下方式调用:
最后两个块实际上是从我的代码中粘贴的。
再次感谢各位。
cross-compiling - 交叉编译,为什么“检查我们是否在交叉编译......不”?
我正在尝试自己编译跨平台工具链。
当我编译binutils-2.22时,它成功但为什么出现“检查我们是否正在交叉编译......没有”?我想它应该是“是”,对吧?
我的主机是运行 ubuntu 的 i686,我的目标是 arm。
在此之后,我“make”和“makeinstall”,创建了 arm-linux-*。
谢谢!
linux - Cygwin binutils 配置缓存不正确
我正在尝试在 Cygwin 环境中安装 binutils。
我的路径非常糟糕(例如,配置输出的一行是:
,这显然很讨厌),所以我将 Cygwin 的 /etc/profile 更改为路径更简单。
但是,在运行 configure 时,它会报告某些值(如上面的)是“(缓存的)”。我认为这可能与 config.cache 文件中的无效状态有关,但在从计算机中删除所有此类文件后,问题仍然存在。
缓存值是什么意思,如何更新它?
linux - “make install”时 Binutil 中的权限错误
我正在开发 LFS7.2。在“make install”binutil 包时出现权限错误,但我可以成功地使用用户 lfs 在所有 3 个目录(源、工具、usr)中创建文件夹。我回滚并重新执行了 4.1 到 4.4 的章节,但我仍然面临这个问题。
**
**
gcc - 更改 gcc/binutils --prefix
--prefix=/home/.../usr
我曾经使用传递给配置脚本的错误前缀 () 构建和安装 gcc 和 binutils 。
现在我用正确的前缀 ( ) 重新配置、重建和重新安装 gcc 和 binutils --prefix=/usr
,但是编译总是失败:
当然,我可以对库进行符号链接以使其正常工作,但我想知道这些路径保存在哪个文件中以及如何更改它们。
c - 如何确定 gcc 默认传递给 ld 的命令行选项?
考虑 hello world C 程序:
你好.c:
如果我打电话:
它将生成一个 ELF 可重定位文件hello.o
如果我再打电话:
它将 hello.o 与 ld 链接并生成一个 ELF 可执行文件hello
但是,如果我直接调用 ld[2]
而不是[1]
:
我收到这些错误:
gcc 必须将其他选项传递给 ld(例如链接 C 库)。
无论如何,是否可以确定命令行 gcc 在 command 中传递给 ld 的确切内容[1]
?
gcc - 在 CentOS 上构建整个工具链的教程
我正在使用 CentOS 6 机器,它有非常旧的 GCC/GlibC 版本。我想用最新或至少最近的版本构建整个 glibc、binutils、gcc 工具链,以便在最新的 gcc 中使用 c++11 支持,在最近的 binutils 中使用 ld.gold,并可能在最近的 glibc 中进行改进。
我想将整个工具链放在某个单独的目录中,而不是影响任何现有的系统文件。我还想用 --sys-root 构建 gcc,这样在使用 gcc 时,我不需要指定 -I/some/directory/include 和 -L/some/directory/lib 或任何其他参数。此外,生成的可执行文件将自动使用新的 ld-linux-xxxxx 程序加载器,它会自动找到新的 libc.so。
任何人都知道是否有关于此任务的教程?