请在设计或编码嵌入式系统的较少封装可交付成果时,记住要记住的要点。
我不提供编译器或平台详细信息,因为我需要通用信息。但是,也欢迎基于Linux的操作系统的任何具体信息。
答案 0 :(得分:2)
取决于你想要多少。我目前正在为财务打印机编码,并且没有操作系统,主要规则是没有动态内存分配。有趣的是,我仍然说服工作人员编写完全现代的C ++代码;)。
实际上我们决定采用一些规则:
答案 1 :(得分:1)
没有一般性答案,只有特定于语言/平台的内容......但
内存占用量小......
会有更多。
答案 2 :(得分:1)
对于真正的低占用空间,请考虑直接进行装配。
我们都知道C或C ++中的Hello World是20kb +(因为链接的所有默认库)。在装配中,这种开销消失了。正如评论中指出的那样,可以相当多地减少标准库。但是,事实仍然是编码汇编时可以获得的代码密度远高于编译器从高级语言生成的代码密度。因此,对于每个字节都很重要的代码,请使用汇编。
当在具有较低能力的处理器的设备上进行编程时,使用汇编语言编程可能是使程序足够快以使其足够实时(例如)控制机器的唯一方法
答案 3 :(得分:0)
当遇到这些限制时,建议预先分配内存,以保证系统在负载下工作。诸如“对象池”之类的设计模式可用于在系统内共享资源。
C 语言可实现严格的资源(即内存和计算周期)控制。应该强烈考虑。
避免递归,因为它很容易滥用,并可能导致堆栈溢出情况。