小编sto*_*ong的帖子

gcc如何确定基于C的函数将使用的堆栈大小?

我用C编程语言编写程序,并使用objdump将可执行文件转换为asm文件.我不知道gcc如何确定函数将使用的堆栈大小?

    int a()
    {
         int temp[1024 * 1024];
         temp[0] = 1;
         return temp[0];
    }
Run Code Online (Sandbox Code Playgroud)

这只是问题解释,忽略它是天真的.gcc是否会为函数a分配1024*1024字节的空间?

如果函数有点复杂,有时会有很多局部变量,编译器如何确定堆栈大小?

c stack gcc

3
推荐指数
1
解决办法
2677
查看次数

取消链接目录时会发生什么?

假设c.txt在目录中bunlink c.txt很简单,系统只是删除{XXX, c.txt}目录中的条目b。但是如果b是 的子目录a,并且我想取消链接会发生什么b,过程是相同的还是更复杂?

linux unlink rmdir

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

标签 统计

c ×1

gcc ×1

linux ×1

rmdir ×1

stack ×1

unlink ×1