gpt4 book ai didi

c - 静态内存与堆内存?

转载 作者:太空狗 更新时间:2023-10-29 15:01:31 24 4
gpt4 key购买 nike

我在内存受限的环境中工作,需要动态创建字符串,但仍然不占用堆内存。那么这是否有意义:

static char staticStringBuffer[10240];
static size_t staticStringWatermark = 0;

void createString( const char * something, const char * somethingElse ) {
char buf[1024];
strcat(buf, "test");
strcat(buf, something);
strcat(buf, somethingElse);

strcat(&staticStringBuffer[staticStringWatermark], buf);
staticStringWatermark += strlen(buf+1);
}

这可能是 dosent 编译,但我正在尝试理智 - 为堆内存牺牲静态内存?

谢谢你^_^

最佳答案

这当然取决于您的特定环境在加载您的程序时所做的事情;程序的静态数据放在哪里?在许多操作系统上,程序被加载到堆内存中并从那里运行,因此您的静态数据最终仍将位于堆中。

关于c - 静态内存与堆内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2271976/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com