C 编译时的RAM内存优化
我正在做一个用C语言编程的项目,我试图在编译时分析特定功能库文件的RAM内存(段分配)。这将帮助我静态地优化编译级别本身的数据大小C 编译时的RAM内存优化,c,ram,C,Ram,我正在做一个用C语言编程的项目,我试图在编译时分析特定功能库文件的RAM内存(段分配)。这将帮助我静态地优化编译级别本身的数据大小 我正在使用Wind River(Diab 5.8)编译器。可以在飞思卡尔微控制器平台上运行。我正在Windows环境下开发此应用程序。请帮我找到这个 好的,理解架构的区别:如果您将-m传递给链接器,足以让链接器打印段分配列表,您是否尝试过。这样,您就可以看到特定(静态链接)库占用了多少代码段。我怀疑,在这个微控制器上,编译器(链接器)确实为特定目的分配了特定的RAM
我正在使用Wind River(Diab 5.8)编译器。可以在飞思卡尔微控制器平台上运行。我正在Windows环境下开发此应用程序。请帮我找到这个 好的,理解架构的区别:如果您将
-m
传递给链接器,足以让链接器打印段分配列表,您是否尝试过。这样,您就可以看到特定(静态链接)库占用了多少代码段。我怀疑,在这个微控制器上,编译器(链接器)确实为特定目的分配了特定的RAM范围,而微控制器当然不需要操作系统。例如,rwdata段将位于某个选定的地址,该地址由静态链接器修复。您确定吗?至少对于Diab 5.6,获取地图转储的选项是-m
-M
导致“无效选项格式:-M”。然后是-M,对于大多数链接器来说是-M(GNU LD有漂亮的--print映射),但我从未使用过Diab。不过链接图应该会显示您需要什么。我刚刚查看了Diab 5.8的手册,它确实是-m
,所以我修正了您的答案(并投了赞成票)。