问题标签 [automatic-storage]

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 投票
0 回答
55 浏览

file - 在 Talend 中映射之前从文件中提取电子邮件地址

我有一个包含 5 个文件的文件夹。其中一个文件有一个电子邮件地址。我想先从文件中提取电子邮件地址,将其映射到数据库,然后将其作为变量存储在某处,以便它可以用于使用 talend 发送电子邮件组件。我还想将 5 个文件移动到另一个文件夹中。知道我怎么能用 talend 做到这一点。以下是我到目前为止使用文件观察器所做的事情。(这整个事情应该自动发生,例如,当添加一个新文件时,这整个事情应该发生)

在此处输入图像描述

0 投票
2 回答
84 浏览

c - 不同C块中同名的auto变量:内存分配

假设我在 C 程序中有这样的结构:

如果我改为写,我会节省一些内存吗

?

i在 if-else 结构之外不需要该变量。

0 投票
3 回答
3082 浏览

c++ - std::vector (ab) 使用自动存储

考虑以下代码段:

显然它会在大多数平台上崩溃,因为默认堆栈大小通常小于 20MB。

现在考虑以下代码:

令人惊讶的是它也崩溃了!回溯(使用最近的 libstdc++ 版本之一)指向include/bits/stl_uninitialized.h文件,我们可以在其中看到以下行:

调整大小的vector构造函数必须默认初始化元素,这就是它的实现方式。显然,_ValueType()临时使堆栈崩溃。

问题是它是否是一个符合要求的实现。如果是,这实际上意味着使用巨大类型的向量是非常有限的,不是吗?

0 投票
1 回答
19 浏览

python - 自动计算百分比并存储到变量中

我目前正在进行人口统计项目。我有来自 3 个不同国家的数据及其每个月的出生统计数据。

我的问题:我想计算每个月出生的人的百分比并为每个国家绘制它。(x = 月,y = 出生百分比)因此,我想先计算百分比。我想在整个几个月的每次迭代中都这样做,以改进我的代码。至今:

每个月和 3 个国家。

如何通过更改Country [i]自动计算所有值并分别存储每个值(函数,for 循环?)

非常感谢!

0 投票
3 回答
107 浏览

c - 在运行时给出其大小的向量的堆栈空间?(C代码)

假设这个 C 代码:

我们有一个在堆栈空间中的向量,但是直到执行时间(直到用户给变量 n 赋值)我们才知道向量的大小。所以我的问题是:何时以及如何为堆栈部分中的该向量保留空间?

直到现在我才明白堆栈空间是在编译时保留的,而堆空间是在运行时保留的(使用 malloc 之类的函数)。但是直到运行时我们才能知道这个向量的大小。

我认为可以做的是在知道它的那一刻从堆栈指针中减去 n 的值,从而扩大该函数的堆栈以使向量适合(我提到的这种减法只能在汇编代码)。

但是我一直在做一些测试来观察 /proc/[pid]/maps 的内容。并且进程的堆栈空间没有改变,所以我认为(在汇编代码中将 n*sizeof(int) 减去堆栈顶部的指令)没有完成。我在 main 函数的开头和结尾都看过 /proc/[pid]/maps 的内容。

如果我为 x86 (gcc -m32 -o test.c) 汇编这段代码,你会得到以下汇编代码(以备不时之需):

0 投票
3 回答
119 浏览

c - 基于自动变量的绝对最坏情况堆栈大小

在 C99 程序中,在(理论上)假设我没有使用可变长度数组,并且我的每个自动变量在整个堆栈中一次只能存在一次(通过禁止循环函数调用和显式递归),如果我总结他们消耗的所有空间,我可以声明这是可能发生的最大堆栈大小吗?

这里有一点上下文:我告诉一个朋友,我编写了一个程序,不使用动态内存分配(“malloc”)并分配所有内存静态(通过在一个结构中建模我的所有状态变量,然后我将其声明为全局)。然后他告诉我,如果我使用自动变量,我仍然会使用动态内存。我认为我的自动变量不是状态变量而是控制变量,所以我的程序仍然被认为是静态的。然后我们讨论了必须有一种方法来说明我的程序的绝对最坏情况行为,所以我提出了上述问题。

额外的问题:如果上述假设成立,我可以简单地将所有自动变量声明为静态并最终得到一个“真正的”静态程序?

0 投票
2 回答
71 浏览

c++ - 如果您在函数中声明了 const int,您是否必须释放它?

intAge跑步后会发生什么func()?您是否必须释放它,或者 C++ 编译器是否这样做?

0 投票
1 回答
44 浏览

c - C API 允许自动和分配的存储

我正在编写一个具有以下结构的 API

我正在提供释放此类结构内容的函数(以与 C++ 析构函数类似的方式)。没有提供构造函数,因为我要求对它们进行零初始化(该.items字段必须是NULL初始化时的指针,这使其适用于以后的realloc()free())。

然而,我提供了一个additem()函数,它会相应地增加realloc().items.numitems

然而,由于这些结构体很小,我想鼓励使用指定的初始化器和复合字面量,以便用户可以在可能的情况下方便地使用单行创建这些对象,而无需手动调用additem().

但是,如果您使用指定的初始化程序(或从复合文字分配给它们)初始化此类结构,则该.items字段将具有自动存储而不是分配的存储。因此,如果稍后将此结构传递给“释放”函数/析构函数,您将free()使用非法指针(指向自动存储)进行调用。

是的,我知道措辞可能是“不要为你没有调用的对象调用析构函数additem() ......但这看起来真的很笨拙,而且似乎是糟糕的设计。

不知何故,就像我必须决定是否所有这些对象都应该具有自动或分配的存储空间,而不是为用户提供两种可能性。

你有没有遇到过这样的场景?我可以使用任何一种设计来为自动和分配的存储提供干净优雅的界面吗?