我们有一系列像这样的结构:
struct allocation
{
size_t alloc_size_;
char* alloc_memory_;
};
static struct allocation allocations[] =
{{1024, NULL},{2048, NULL},};
稍后在main()
中使用alloc_memory_
初始化其成员numa_alloc_onnode()
。
所以问题是:alloc_memory_
是否也是静态的,它们位于何处(堆,堆栈)?如果它们不是静态的,那么如何使它们静止?
答案 0 :(得分:2)
数组alloc_memory_
的{{1}}成员是静态的,但指向的内存不一定是静态的。
在您的情况下,由于您在allocations
中使用numa_alloc_onnode
分配了它们,这意味着它们指向动态存储。
如果你真的想要静态存储,你可以在结构之前定义内存:
main