问题标签 [data-segment]

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 回答
205 浏览

c++ - Perl 的 __DATA__ 段是否有 C++ 等效(或等效技术)?

有人知道 Perl__DATA__段的 C++ 等价物吗?对于不熟悉 Perl 的任何人,该__DATA__段是 Perl 文件末尾的(可选)注释;后面的任何内容都被认为是(虚拟)文件的内容,Perl 可以通过 DATA 文件句柄访问(读取、写入)该文件。我正在寻找类似于在 C++ 程序中使用的东西(不要问,不要说)。

谢谢

0 投票
1 回答
66 浏览

variables - 汇编语言内存操作数

我正在使用 emu8086 来学习汇编语言。我有一个问题说:将以下代码片段转换为汇编语言代码:a = 0

我是否将变量 a 初始化为十进制 ascii 代码 48(其字符值为 0)?

或者我是否将变量 a 初始化为十进制 ascii 代码 0 本身(其字符值为 NUL)?

0 投票
1 回答
481 浏览

assembly - 汇编中的两个数据段和 386 代码

好吧,我正在编写一个程序,该程序必须从屏幕上的不同数据段打印两个字符串。而且我的程序必须使用 32 位寻址模式。

我不明白,如何从正确的段传递字符串偏移量。谁能解释我做错了什么?

谢谢

0 投票
1 回答
301 浏览

operating-system - x86 上的堆栈和数据段可以重叠吗?

我知道一般来说 x86 中的数据段可以重叠,但堆栈和数据段是否可以重叠我问这个原因通常它们在数据段的说明中彼此相距很远

0 投票
1 回答
366 浏览

assembly - 使用数据段

我目前正在编写一个写入 20 个第一个斐波那契数的程序。我目前要问的是这件事是否可以完成:

(这只是一个与斐波那契数无关的通用代码)因此它将'123'写入地址3000H:4005H的内存中。这甚至可能吗?所以我不需要同时增加 SI 和 CL(我使用 CL 在程序达到 20 或 14h 时结束程序)。

编辑:这是我的实际代码,但它没有正确写入数据。

0 投票
1 回答
463 浏览

assembly - Legal data segement constructions

I would like to get some help with this questions: what is correct and legal in following definition of the data segment:

I consider following wrong:

And correct:

Am i right about this facts?

0 投票
1 回答
78 浏览

c - C数据段识别

如果我声明

所以现在有两个实例 a ..

我知道所有静态变量都进入数据段,但是它们在数据段中如何区分哪个是本地的,哪个是全局的?

0 投票
0 回答
271 浏览

assembly - 数据段中的数据不可访问

当数据位于

我用汇编程序(使用 NASM)编写了一个小程序,它由一个加载一些“内核”代码的引导加载程序组成。这个内核代码一旦加载到内存中就会被执行。

我将首先显示代码,然后制定我的问题。

程序的第一部分由初始语句和数据定义组成:

第二部分是引导加载程序代码:

最后一部分由非常简单的“内核”代码组成(这是执行 jmp OS_LOCATION:0000 时引导加载程序跳转的位置)

到目前为止的代码。

现在,当我在数据部分定义 'letterD' NOT 时,上面的代码有效:

--> 引导加载程序代码显示:AB

--> 内核代码显示:CD

但问题是当我在数据部分定义“letterD”时:

--> 引导加载程序代码显示:AB

--> 内核代码显示:C

不显示字母“D”

就好像放在数据段中找不到数据一样。(仅供参考:nasm 将我的代码构建为 BIN 格式)

这里发生了什么?如何解决这个问题?

谢谢你

克里斯

0 投票
3 回答
2228 浏览

c++ - 如何在 C++ 中获取数据段大小

我需要分析一个用 C++ 编写的库的内存需求,因为硬件工程师需要对我们硬件的内存需求有所了解,正在研究中。我可以测量堆大小峰值,我可以测量堆栈大小,但我不知道如何估计/测量数据段大小和 Bss 大小。Visual Studio 或 GCC 中有什么方法吗?我认为它会因编译器和平台而异,但估计对我来说很好。

0 投票
2 回答
275 浏览

c++11 - 模板变量是线程安全的吗?它们被放置在数据段上?

我正在使用 C++14 中的新模板变量功能以适应它(也许很快就会这样做,因为似乎某些编译器没有完全实现它)。

现在我想知道模板变量的每个实例在哪里。在我到目前为止所做的测试中,它们似乎在任何静态数据之前被初始化,所以我想知道它们是否被放置在程序的数据段中。让我们看看到目前为止我已经尝试过什么,我有一个类可以打印有关构造和破坏的信息:

squealer还有一个在本地存储、静态存储和模板变量中实例化一些s 的程序,这是该程序:

这是程序,这是输出:

正如我们所看到的,所有模板变量squealer实例都是在命名的之前创建的"static",最后(如预期的那样)命名local的被创建,销毁顺序是相反的(如预期的那样),所以:创建/初始化的顺序模板变量实例的数量与其在代码上的外观相同,无论此外观的位置如何,也无论它们是否被使用(f()从不调用该函数)。

那么第一个问题是,这个模板变量是放在数据段上的吗?我不知道如何测试或检查它。

第二个问题是,所有这些模板变量squealer实例都是线程安全的吗?我在n3376 §6.7上阅读了以下句子(强调我的):

允许实现在与允许实现在命名空间范围(3.6.2)中静态初始化具有静态或线程存储持续时间的变量相同的条件下,对具有静态或线程存储持续时间的其他块范围变量执行早期初始化。否则,此类变量在控件第一次通过其声明时被初始化;这样的变量在其初始化完成时被认为已初始化。如果初始化抛出异常退出,说明初始化未完成,下次控件进入声明时会再次尝试。如果控制在变量初始化的同时进入声明,并发执行将等待初始化完成.

从 C++11 开始,如果所有模板变量squealer实例都在静态存储中,它们应该是线程安全的,不是吗?

谢谢。