- 论坛徽章:
- 0
|
Normally, local copies of certain information (backup copies of inline member functions, debugging information, and the internal tables that implement virtual functions) must be kept in each object file that includes class definitions. You can use this pragma to avoid such duplication.
本来想用这个pragma减少C++ 程序运行时所需内存size的(目的是减少.text .rodata段的大小),但是用过之后,发现生成的程序.text段反而有所增大,不知道什么原因?有用过这两个pragma的人,请说说你们的经验?谢谢
(背景:
一款嵌入式设备(Linux 系统,C++/C开发),最近又出现了内存不足的问题,老大要求抽出时间对这个问题重点理一理,因为时间比较紧,不可能用代码重构的方法,想从代码优化方面入手来有效降低程序所需内存,目前只想到了一些比较简单的方法,如使用gcc检查不用的变量和代码,删除之;删除冗余的变量和函数,使用局部变量代替全局和静态变量;频繁使用的宏指令和inline 函数化;log函数合并和格式化字符串用宏代替...效果都不是特别明显,大家有什么好的方法?我们希望能把程序需要的内存降低10%左右(任务固定分配16M的Pysical内存),目前这些措施远未达到所需目标,不好向老大交差啊...) |
|