Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
为什么 GCC 在堆栈上压入额外的返回地址?
我目前正在学习汇编的基础知识 在查看 GCC 6 1 1 生成的指令时遇到了一些奇怪的情况 这是来源 include
Assembly
gcc
x86
memoryalignment
stackmemory
是否可以强制 JVM 在堆中而不是堆中创建对象?
我读过一些文章 有时JVM会识别一些对象并尝试在堆栈中而不是堆中创建它 因为堆栈上的内存分配比堆中的内存分配便宜 堆栈上的释放是免费的 并且堆栈由以下方式有效管理 运行时 那么 堆栈中的对象分配是如何工作的 有什么方法可以强制 JVM 执行
Java
JVM
heapmemory
stackmemory
堆分配内存的线程安全
我正在读这个 http en wikipedia org wiki Thread safety http en wikipedia org wiki Thread safety 下面的函数是线程安全的吗 void foo int y int
c
threadsafety
heapmemory
stackmemory
阴影空间示例
EDIT 我接受了下面的答案 并添加了我自己的代码的最终修订版 希望它向人们展示影子空间分配的实际示例 而不是更多的文字 编辑 2 我还设法在 YouTube 视频 所有内容 的注释中找到了一个调用约定 PDF 的链接 其中有一些关于 Li
Windows
Assembly
x8664
nasm
stackmemory
弹出 x86 堆栈以访问函数 arg 时出现分段错误
我正在尝试链接 x86 程序集和 C 我的C程序 extern int plus 10 int include
c
Assembly
x86
nasm
stackmemory
变量如何存储在堆栈中?
我读到有两个内存区域 一个是堆栈 另一个是堆 基本数据类型 如 int double float 等 存储在堆栈中 而引用类型存储在堆中 我们知道堆栈是LIFO这意味着最后推送的元素将首先被删除 现在假设以下代码 int first 10
c
heapmemory
stackmemory
字符串文字在内存中的什么位置?堆栈/堆? [复制]
这个问题在这里已经有答案了 可能的重复 C 字符串文字 它们去了哪里 https stackoverflow com questions 2589949 c string literals where do they go 据我所知 一般来
c
pointers
char
heapmemory
stackmemory
打印堆栈指针的值
如何在 Linux Debian 和 Ubuntu 中用 C 打印堆栈指针的当前值 我尝试谷歌但没有找到结果 一个技巧是简单地将本地地址作为指针打印出来 但它不可移植 甚至无法保证有效 void print stack pointer vo
c
Linux
stackmemory
stackpointer
堆和栈数据访问性能对比
众所周知的常识是 对于大多数算法来说 在堆栈上分配和释放数据比在堆上分配和释放数据要快得多 在C 中 代码的区别就像 double foo n n vs double foo new int n n 但是 当访问和计算位于堆或堆栈上的数据时
performance
heapmemory
stackmemory
Erlang:如何限制分配给进程的内存
我要问的是是否可以限制分配给特定进程的内存 堆或堆栈 以便该进程不能超过它 也许类似于 process flag min heap size MinHeapSize 但针对最大堆 您可以将某种进程跟踪 gen server 放在一起 定期检
ERLANG
heapmemory
stackmemory
memorylimit
Swift 栈和堆的理解
我想快速了解堆栈和堆中存储的内容 我有一个粗略的估计 您打印的所有内容和内存地址都不是值 它们存储在堆栈中 而作为值打印出来的内容则在堆上 基本上根据值和引用类型 我完全错了吗 或者 您可以提供堆栈 堆的可视化表示吗 As Juul htt
ios
swift
memory
heapmemory
stackmemory
如何使用gdb来探索堆栈/堆?
谁能给我一个快速概述 给我指出一种检查 C 程序堆栈 和堆 的方法的文档 我认为这应该用 GDB 来完成 但如果有其他更直接的替代方案 那么也应该没问题 Thanks 您可以使用 x 命令转储原始内存 因此 如果您想查看堆栈或堆的位 请尝试
c
debugging
GDB
heapmemory
stackmemory
使用callstack在C中实现堆栈数据结构?
我对 C 下内存结构的理解是 程序的内存与堆栈和堆分开 每个堆栈和堆都从块的两端生长 可以想象分配所有 RAM 但显然抽象为某种操作系统内存片段管理器 堆栈设计用于处理局部变量 自动存储 堆设计用于内存分配 动态存储 编者注 有一些 C 实
c
Assembly
stack
callstack
stackmemory
我应该使用堆栈进行长期变量存储吗?
根据 汇编语言循序渐进 第3版 中的 Storage for Short Term 第8章 堆栈应该被视为短期存放东西的地方 存储在堆栈中的项目没有名称 通常必须按照放入的相反顺序从堆栈中取出 后进先出 记住 后进先出 然而 据我所知 C
Assembly
memory
heapmemory
stackmemory
栈和堆的内存分配
这似乎是一个非常基本的问题 但它一直在我的脑海中 当我们分配一个局部变量时 它会进入堆栈 类似地 动态分配会导致变量位于堆上 现在 我的问题是 这个变量实际上位于堆栈还是堆上 还是我们只是堆栈和堆中的引用 例如 假设我声明一个变量int i
c
memorymanagement
heapmemory
dynamicallocation
stackmemory
Java 记录堆栈的分配方式与 C# 结构类似吗?
Java 记录与 C 结构类似吗 我的意思是 如果它们是堆栈分配的 而不是使用像类这样的引用 那么它们是在堆上分配的 不 记录只是编写值类的一种更简单的方法 但分配方式与普通对象没有任何不同 这并不是说此类类型没有进行中 它们正在进行中 但
Java
heapmemory
stackmemory
javarecord
如果我递增数组变量会发生什么?
我知道如果指针位于堆上 则更改指针的地址是不安全的 因为稍后释放它会引起一些麻烦 但是如果指针在堆栈上声明 那么这样做安全吗 我正在谈论这样的事情 char arr one two three arr or arr 我希望我通过将 char
c
pointers
heapmemory
stackmemory
数组在内存中是如何存储的?
我有一个简单的程序 它将数组初始化为 int a 10 20 30 40 50 char p p char a 现在我想通过指针访问每个字节的值p 为此我需要知道 数组如何存储在内存中 是存储在栈上还是堆上 数组将其元素存储在连续的内存位置
Arrays
c
pointers
heapmemory
stackmemory
C++ 是否有无堆栈或无堆实现?
C 标准没有提及任何有关堆栈或堆的内容 它们是特定于实现的 这是事实 尽管它们不是 C 标准的一部分 但我们最终还是会使用它们 以至于它们就像是语言本身的一部分 并且必须考虑内存或性能目的 因此我的问题是否有不使用堆栈和堆的 C 实现 其他
c
standards
heapmemory
stackmemory
stackless
堆上数组的初始化
如何手动初始化堆上数组中的值 如果数组是局部变量 在堆栈中 则可以以非常优雅且简单的方式完成 如下所示 int myArray 3 1 2 3 不幸的是 下面的代码 int myArray new int 3 myArray 1 2 3 编
c
memorymanagement
heapmemory
stackmemory
1
2
3
»