我目前正在开发一个嵌入式应用程序,问题是我已经达到了整个应用程序实际上对RAM太重的程度。
所以我问自己这个问题:如果我将一些文件折射成一个大文件,我编译的程序会更轻吗?
感谢。
答案 0 :(得分:1)
不,不是一般的。
源代码组织不会影响内存使用。
有可能重构程序以使用更少的内存,例如,如果您具有使用大量但从不并行运行的功能,但这在单个文件中同样可行。它只需要明确分享。
答案 1 :(得分:0)
如果你的代码在"大文件中是100%相同的"以及"许多文件"方法,主要区别在于变量和函数的地址将由链接器而不是编译器解析(即填充到二进制文件中)。这通常应该导致完全相同的二进制文件。
然而,有一些架构具有"短相对寻址模式" (摩托罗拉68k就是一个例子)用于呼叫和引用,其中"大文件方法"实际上可能导致(稍微)更小的代码和数据。编译器通常不能将这种短寻址模式插入到用于链接的模块中,因为在编译时不知道引用在结果程序中的距离。
因此,根据您使用的CPU,您实际上可能会获得几个字节。