标签: stack-memory

将在何处进行C中字符串的内存分配

对于下面给出的C语句,我想知道memmory分配将在何处进行.

char* ptr="Hello";//ptr is a automatic variable
Run Code Online (Sandbox Code Playgroud)

那么指针变量ptr将在堆栈上分配,但是这个字符串"Hello"将被分配到哪里.它是在堆栈上还是在堆上?那么初始化语句的内存分配如char ptr [] ="Hello";

c memory-management heap-memory stack-memory

6
推荐指数
1
解决办法
384
查看次数

在Node.js中,何时数据存储在堆上?

在C中,您明确要求并管理堆上的内存,因此与堆的交互定义明确/明显.你如何在Node.js中解释这个?

子问题:

  • 功能存储在何处/如何存储?
  • 是否有某些对象/原语总是存储在堆上?(例如缓冲区)
  • 数据是否从堆栈迁移到堆?什么时候?

关于这个问题的优秀资源的参考也将不胜感激,谢谢.

memory-management heap-memory stack-memory node.js

6
推荐指数
1
解决办法
468
查看次数

内存中的栈真的是栈吗?

在内存中,有一个称为堆栈的部分,它从顶部开始,向下向堆增长。该堆栈与 LIFO 堆栈相同吗?底部的堆是 FIFO 吗?

当你执行“push”和“pop”时,这会改变内存中的堆栈吗?

memory terminology heap-memory stack-memory

5
推荐指数
1
解决办法
975
查看次数

堆栈帧大小是否有上限

我们有一个堆的内存不足错误,但是(只是出于好奇而询问)单个堆栈的大小是否有相同的限制?如果不是,那么如果堆栈帧(如数千个局部变量等)需要多余的内存,那么什么可以防止这种溢出?

java jvm heap-memory out-of-memory stack-memory

5
推荐指数
1
解决办法
1914
查看次数

当您将数据压入堆栈或从堆栈中弹出数据时,您到底在移动什么?

这涉及基本的计算机体系结构,即具有堆栈的体系结构,没有特别的。

使用 FILO(先进后出)方法,就像使用 Intel x86 一样,您使用推送和弹出,但是什么表示或决定推送的内容?

例如,我想推送一个“变量”,比如说......我们知道芯片中的所有内容都只是两伏的二进制位、逻辑驱动电路、门、晶体管等。当我推送一个字节时包含以二进制表示的地址,如下所示:1000 0101、133或85(十六进制),一个值被移动到堆栈......这里有一些问题:

1.堆栈到底位于芯片中的什么位置?

2.芯片上的堆栈配置如何启用/禁用数据块的进出?

3.在多任务环境中通常有多个堆栈。额外的堆栈是如何或从哪里来的?

我知道这可能是题外话,但我希望从硬件方面更好地了解堆栈本身。不,我不想看到板的图片,我明白了,但我想设想数据如何到达它,堆栈到底在哪里,它在芯片中是什么,以及它是如何配置的。

assembly callstack stack-memory

5
推荐指数
1
解决办法
3087
查看次数

字符串类型是存储在堆上还是堆栈上?

这是让我困惑的地方:在 .NET 中,string类型是一个类,但它的行为看起来像是一个值类型!

那么是string值类型(堆栈内存)还是引用类型(堆内存)?

.net string heap-memory primitive-types stack-memory

5
推荐指数
1
解决办法
2311
查看次数

线程堆栈分配

我们知道每个线程都有自己的堆栈。这些堆栈分配在哪里?我读了一些文档,似乎堆栈是在创建线程时从堆中分配的。这有道理吗?提前致谢!

c memory multithreading stack-memory

5
推荐指数
1
解决办法
3699
查看次数

用PHP堆栈和堆?

我正在学习操作系统,而我完全不了解的是堆栈和堆栈.我知道它们的好处以及它们的工作原理,但在动态语言的情况下,我无法弄清楚堆栈是如何分配的.

在静态类型语言中,所有原始数据类型都存储在堆栈中,因为它们很小并且将按照它们分配的相同顺序或多或少地解除分配,但是在像PHP这样的语言中,这在运行时才知道.那么堆栈大小和变量分配怎么可能呢?

如果我理解正确,则通过分析原始数据类型的数量和一些偏移量来确定堆栈大小.如何在PHP或其他动态语言中完成该过程?

如果这个问题在黑暗中发生,请给我一些指导如何了解这一点

php dynamic-languages heap-memory stack-memory

5
推荐指数
1
解决办法
6807
查看次数

如何测量 Rust 中的函数堆栈使用情况?

有没有办法测量一个函数使用了多少堆栈内存?

这个问题不是针对递归函数的;但是我很想知道递归调用的函数会占用多少堆栈内存。

我有兴趣优化堆栈内存使用的函数;然而,在不知道编译器已经进行了哪些优化的情况下,这只是猜测是否正在做出真正的改进。

需要明确的是,这不是关于如何优化以获得更好的堆栈使用的问题。

那么有没有可靠的方法来找出一个函数在 Rust 中使用了多少堆栈内存?


请注意,其他编译器支持这一点,-fstack-usage例如GCC 。

stack-memory rust

5
推荐指数
1
解决办法
659
查看次数

为什么 size 命令没有列出任何可执行文件或目标文件的堆栈或堆段?

size在 Unix 系统中对可执行文件或目标文件使用该命令时,我们以文本段和数据段大小的形式获得输出。为什么不显示堆或堆栈段的输出?下面是 size 命令的输出

 $ size hello_world-1 hello_world-1.o 


text   data   bss    dec   hex   filename
 916    256     4   1176   498   hello_world-1
  48      0     0     48    30   hello_world-1.o
Run Code Online (Sandbox Code Playgroud)

c operating-system memory-management heap-memory stack-memory

5
推荐指数
1
解决办法
401
查看次数