繁体   English   中英

“静态分配”是什么意思?

[英]What is the meaning of “statically allocated”?

http://linux.die.net/man/3/pthread_mutex_init

在默认互斥锁属性适当的情况下,宏PTHREAD_MUTEX_INITIALIZER可用于初始化静态分配的互斥锁。 通过调用pthread_mutex_init()并将参数attr指定为NULL,效果应等效于动态初始化,但不执行错误检查。

我知道动态分配。 “静态分配”是什么意思?

我的问题是要理解“静态”分配的含义。 我在手册页中发布了引用,仅提供上下文。

静态分配意味着变量在编译时分配,而不是在运行时分配。 在C中,这可以是文件范围的全局变量,也可以是函数中的static变量。

这里有一个很好的概述: http//en.wikipedia.org/wiki/Static_memory_allocation

堆栈中的变量(即,没有static关键字的函数中的局部变量)在调用函数时分配,有时在递归调用函数时分配多次。 因此它们在概念上与静态内存分配(每个程序只发生一次)不同。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM