问题标签 [gnu]

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 投票
3 回答
8882 浏览

linux - 在 Linux 上将符号链接到固定地址

如何使用 GNU ld 将(某些)符号链接到特定的固定地址,以便二进制文件仍然可以在 Linux(x86)中正常执行?不会对这些符号进行任何访问,但它们的地址很重要。

例如,我将具有以下结构:

我想链接foobar到地址 0x76543210,但要正常链接标准库和应用程序的其余部分。然后应用程序将使用 foobar 的地址,但不会引用它后面的(可能不存在的)内存。

这个请求的基本原理是这个相同的源可以在两个平台上使用:在本机平台上,Register32可以简单地是 a volatile uint32_t,但在 Linux 上是一个与定义 egRegister32的 a 大小相同的 C++ 对象,然后它将使用地址对象并使用该地址(和数据)向通信框架发送请求,以执行对远程硬件的实际访问。因此,链接器将确保结构的字段引用正确的“地址”。uint32_toperator=Register32

0 投票
4 回答
693 浏览

null - 如何透明地使用 GNU Screen

我想以用户不知道它存在的方式使用 GNU 屏幕。这是为了帮助确保我正在编写的基于文本的管理应用程序一次只能由一个用户使用。为了防止用户通过运行应用程序并继续运行而将其他人锁在外面,在度假时让它运行,我希望能够分离他们的会话并允许另一个用户附加到它。

所以我的问题是:

  • 我可以将 .screenrc 中的转义键设置为 null,以便用户自己无法访问任何屏幕功能吗?
0 投票
1 回答
712 浏览

gnu - 如何更改 GNU Screen 中的“[remote detached]”消息

当我远程分离屏幕会话并自己连接到它时(screen -r -d),我在分离的会话中看到以下内容。

[remote detached]

是否可以更改此消息?

0 投票
23 回答
139473 浏览

windows - 如何在 Windows 上应用差异补丁?

有很多程序可以创建差异补丁,但我正在尝试应用一个。我正在尝试分发补丁,但我收到了用户关于如何应用它的问题。所以我自己想办法搞清楚,发现自己一点头绪都没有,能找到的工具大多都是命令行的。(我可以处理命令行,但是如果没有漂亮、友好的 GUI,很多人会迷失方向。所以这些对这个目的没有好处。)

我尝试使用 TortoiseSVN。我有我想应用的补丁。我右键单击补丁,在 TortoiseSVN 子菜单下有一个选项,上面写着“应用补丁”。它所做的只是打开一个空窗口。

所以我试着点击打开。它有两个选项:合并和应用统一差异。(幸运的是,补丁是统一的差异格式。)但是 apply 选项不起作用:它要求提供补丁和文件夹。不知何故,它忘记询问要应用补丁的文件!所以 TortoiseSVN 只是普通的不起作用。是否有基于 Windows GUI 的实用程序可以获取补丁和文件并正确应用它?

编辑:查看到目前为止的回复,似乎 Tortoise 只有在它是一个已经版本化的文件时才会正确。这不是这里的情况。我需要能够将补丁应用于不是来自 SVN 存储库的文件。我刚刚尝试使用 Tortoise,因为我碰巧知道 SVN 使用差异并且必须知道如何创建和应用它们。

0 投票
3 回答
7103 浏览

assembly - 有人可以解释这个直接组装的 x86 JMP 操作码吗?

在学校,我们一直在使用引导程序来运行没有操作系统的独立程序。我一直在研究这个程序,当启用保护模式时,通过直接将操作码和操作数组装为程序中的数据来执行远跳转。这是给 GNU 汇编器的:

首先,为什么要这样做(而不是指令助记符)?

我一直在查看英特尔手册,但仍然对代码感到有些困惑。特别是在第 2A 卷第 3-549 页中,有一个操作码表。相关条目:

实际的操作码很明显,但第一个字节 0x66 让我感到困惑。参考英特尔手册中的表格, cp 显然意味着后面会跟着一个 6 字节的操作数。接下来的两行显然是 6 个字节。0x66 编码一个“操作数大小覆盖前缀”。这和表中的cp有什么关系?我原以为cp会有一些十六进制值,但是有这个覆盖前缀。有人可以帮我解决这个问题吗?

这是来自 od 的转储:

TARGET_ADDRESS 被定义为 0x00010000。

我也对最后两个字节的重要性感到困惑。然而,这似乎完全是另一个问题。现在已经很晚了,我已经盯着代码和英特尔手册看了好几个小时,所以我希望我能明白我的意思。

感谢您的关注!

0 投票
3 回答
1728 浏览

dependencies - gnu make 的依赖问题

我面临着一个相当奇怪的问题。我的制作文件包含:

现在," make -f Makefile item1" 有效,但是当我尝试 " make -f Makefile all" 时它不起作用。你们看到我的makefile有什么问题吗?

谢谢


附录

好吧,看起来 make 不允许与当前级别中的某个目录具有相同名称的目标。观察:

  • “all”是一个目录@$(HOME)/apps
  • all1: item1 item2作品
  • all: item1 item2不工作

因此,任何与目录具有相同名称的目标名称似乎都失败了(例如,没有做任何有用的事情)。

我很确定我在这里做了一些荒谬的错误。

0 投票
3 回答
4802 浏览

iphone - 如何在 iPhone 上使用 GNU C Compiler/gcc & Mobile-Terminal 编译简单的 C 文件?

如何在 iPhone 上使用 GNU C Compiler/gcc & Mobile-Terminal 编译简单的 C 文件?!我需要额外的文件吗?

0 投票
2 回答
402 浏览

inheritance - 为什么例如 Object inheritsFrom: fooobaar 在 Smalltalk 中返回 true?

似乎 GNU Smalltalk 中的 inheritsFrom: 方法对于作为参数发送给它的每个未定义的类名都返回 true。恕我直言,这可能会使程序非常难以调试。查看 Behavior 类中的代码,它看起来像这样:

aClass isNil ifTrue: [^true] 行是罪魁祸首,但我正在寻找一个理智的理由来说明它是以这种方式编码的。(顺便说一下,我是 Smalltalk 世界的新手,并且正在努力学习。)

谢谢。

0 投票
2 回答
281 浏览

gnu - 为什么我不能创建一个新的子类并在同一个句子中使用它?

我想知道为什么以下内容在 GNU Smalltalk 中不起作用:

我期待打印输出类似“a Foo”的东西,但 gst 打印的是“nil”。这看起来是不是有点奇怪?

0 投票
4 回答
3077 浏览

c++ - 如何找出 Linux 上 C++ 程序的最大内存堆栈大小?(gnu 编译器)

我很好奇如何找出特定编译器/操作系统组合的最大堆栈大小。我正在使用 Ubuntu/GNU 编译器。我还有几个问题是:

  1. 谁控制默认的最大堆栈大小;操作系统还是编译器?
  2. 默认最大值是否根据总内存缩放?(即,具有 2gb 内存的机器比只有 512mb 的机器具有更大的默认大小) 对于此示例,两台机器的操作系统/编译器设置相同,只是系统 RAM 的数量不同。

谢谢!