我想问一下是否包含更多的头文件,这会增加所需的RAM大小吗?例如,如果我#include <stdio.h>
和#include <string.h>
我会需要更多的RAM吗?
我正在使用CNU C编译器编写嵌入式系统软件,因此我想尽可能减少所需的RAM。
最佳答案
真正要问的答案可能是“否”,至少在谈论标准库标头时。包含它们不会影响可执行文件的大小或内存占用量。不过,我无法抗拒做出相反的回应:
这取决于所包含文件中的内容。系统头文件不会执行此操作,但是从理论上讲,该文件中可以包含任何内容。标头仅包含函数原型和类型定义只是一个约定。如果我有这两个文件:
// foo.c
int bigarray[1000];
和
// bar.c
#include "foo.c"
int main(int argc, char**argv()) {
return 0;
}
这是合法的代码,bar.c可以很好地编译,但是由于foo.c中的数组(如果编译器未对其进行优化),我的内存占用可能会大4K。
关于c - C:#include增加RAM大小?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10778657/