高效C++;手臂 我会在C++上提供C++的内部训练,重点是编程技巧和提示,我搜索了一些网页,如: 以上都主要是针对ARM的C语言,我想它们也适用于C++,比如结构填充等。

高效C++;手臂 我会在C++上提供C++的内部训练,重点是编程技巧和提示,我搜索了一些网页,如: 以上都主要是针对ARM的C语言,我想它们也适用于C++,比如结构填充等。,c++,arm,C++,Arm,你能帮我一下吗,T.H.X我没有看第一个链接,第二个链接ARM的高效C非常好,感谢你找到并分享了这个链接,我将向大家推荐这个链接 汇编语言的禅宗在今天仍然和它问世时一样重要,这不是因为现代x86与8088/86和“循环食客”有关,而是因为所教授的思维过程和分析不会随着时间而改变。骑自行车的人可能会从一种语言到另一种语言,或者从一个目标到另一个目标,但你如何找到他们并不重要。那本书出版的时候已经过时了,与8088/86的调校无关,我在什么地方读过,但我当时读过它,从那以后每天都在用我学到的东西 这

你能帮我一下吗,T.H.X

我没有看第一个链接,第二个链接ARM的高效C非常好,感谢你找到并分享了这个链接,我将向大家推荐这个链接

汇编语言的禅宗在今天仍然和它问世时一样重要,这不是因为现代x86与8088/86和“循环食客”有关,而是因为所教授的思维过程和分析不会随着时间而改变。骑自行车的人可能会从一种语言到另一种语言,或者从一个目标到另一个目标,但你如何找到他们并不重要。那本书出版的时候已经过时了,与8088/86的调校无关,我在什么地方读过,但我当时读过它,从那以后每天都在用我学到的东西

<>这里,对于ARM来说,高效的C很好地应用于C++中的类似项目,但更重要的是在任何特定的结构或代码之前查看早期的幻灯片。您必须通过检查和使用探查器进行分析(与Zen的汇编语言所说的没有什么不同,查看它并计时)。然后,ARM页面的高效C继续检查一些例子,带上C++代码并编译它,然后拆卸,看看到底发生了什么。这样做的问题是,您必须认识到,编译器上有许多调优旋钮,并且编译器在不断发展,不同的编译器说,gcc、llvm(clang)和visualc/C++是完全不同的。对于不同编译器和编译器的不同版本以及不同优化设置的编译器,同样的C++源代码会产生不同的结果。p>
当您想要进行微优化时,您必须通过在反汇编和分析编译器对您的代码所做的操作(针对您关心的每个目标)方面获得大量经验来了解编译器的工作方式。只有这样,您才能开始进行一些真正的优化,而不必求助于编写汇编程序。尽管人们可能会告诉您可以这样做,但在某些情况下,您可以通过简单地重新排列结构、函数、代码行等来显著提高执行性能。还可以使代码更易于移植到其他处理器,并使代码在多个平台(而不仅仅是一个平台)上通常更快。反对者是正确的,因为你需要有一个很好的理由,有时它不会改变可读性,但往往走得太远会使你的代码不可读、不可维护或脆弱,等等。总是以合理的方式安排你的结构,先是较大的、对齐的变量,然后逐渐变小。其他一些事情,尽管你可能不想作为一种习惯去做,但只能在特殊场合去做。

高效C for ARM的提示适用于大多数现代CPU(除了“没有div指令”)。使用char和short来节省“空间”通常在“时间”上花费的成本远远超过它的价值。EWW,只要看一下你的第一个链接,面试问题,不要阅读,不要听从那些建议,不要向面试候选人问那些问题。一旦你在这方面有了很多经验,然后再回头看看那一页。是的,那里有一些智慧和经验,但你必须知道如何和何时使用它,而不是使用它。它没有深入探讨为什么、如何、做什么和不做什么。