相关疑难解决方法(0)

C和C++中的优化关键字是否合理?

所以我们都听说过不使用register行,其理由是尝试优化编译器是一个愚蠢的错误.

register据我所知,实际上并没有说明有关CPU寄存器的任何信息,只是不能间接引用给定的变量.我猜测它通常被称为过时,因为编译器可以自动检测到缺少寻址,从而使这种优化变得透明.

但是如果我们对这个论点很坚定,那么它不能用C中的每个优化驱动关键字来衡量吗?为什么我们使用inline和C99一样restrict

我认为像锯齿这样的东西很难甚至不可能推断出一些优化,那么在我们开始进入Sufficiently Smart Compiler领域之前,我们会在哪里划线?

在填充编译器优化信息并假设它知道它在做什么之间,应该在C和C++中绘制线应该放在哪里?

编辑:Jens Gustedt指出,我对C和C++的混淆是不正确的,因为其中两个关键字具有语义差异,而标准C++中不存在一个.我register在C++中有一个很好的链接,如果我找到它我会添加...

c c++ compiler-construction optimization performance

22
推荐指数
4
解决办法
1498
查看次数

PIC16 C编译器

我正在寻找一个适用于PIC 16系列的优秀C编译器,适用于Windows.

  • 一些同事使用bknudc,但有些人似乎不喜欢它.显然你不能有效地使用链接器,事实证明最好是在包含文件中设置所有代码.

  • SDCC看起来不错,但看起来它仍处于测试阶段,并且不易设置或不得不处理.

  • 还有其他一些选择,根据他们自己的最佳选择.我找到了一些讨论这个主题的论坛,似乎没有人互相认同.MikroC,CCS(昂贵),HiTech,BoostC.

我希望得到一些关于什么是好的和什么是坏的真实信息.

如果我做对了,PIC16架构真的不是C友好的吗?是否有编译器让程序员在ANSI C中工作?还有一种设置足够好的调试器的方法吗?

compiler-construction embedded pic mikroc

5
推荐指数
3
解决办法
6553
查看次数