从编码/开发的角度来看,两者之间的差别很小.我认为您应该考虑的唯一事情并不是特定于这些编译器.维护:
除非你对成本非常敏感,否则我认为真正的问题是谁将会做得最好,因为编译器将是一个小问题.
小智 6
应该可以构造代码以使用两个编译器.像"打包"这样的属性可以是宏观的,因此代码在两者之下都很开心.将硬件详细信息下推到较低级别,并在运行时配置硬件映射而不是编译时.如果您必须具有单独的Kiel和GCC版本的代码,请将它们放在单独的文件中并配置与gcc make或Kiel项目文件一起使用的文件.
我还没有解决的一个问题是汇编代码.基尔使用armasm,而gcc使用as.它们似乎有非常不同的源代码格式.如果可以,避免汇编程序的另一个原因.
使用GCC的优势在于您可以针对非ARM平台 - 非常适合在具有更好开发工具的平台上模拟您的应用程序(即x86 linux下的valgrind).实际上,这是每个 ARM目标应用程序应采用的方法.首先在x86上开发,然后移植到ARM.
还有与基尔保持同步的成本.一旦我认识的地方停留在RVDK 2.1(2002?)上,因为升级到三个开发人员的最新成本是令人望而却步的.
我还要补充一点,gcc和pedantic会比我们的(基本上古老的)基尔版本更好地消除代码中的警告和错误.
基尔可能会提供更严格的ARM代码,因此请保留它以进行目标构建.否则使用GCC.
| 归档时间: |
|
| 查看次数: |
11534 次 |
| 最近记录: |