我在一个游戏编程学校,在这里我们必须学习代码速度,这似乎很重要。C/C++转换为汇编,低级别内存行为:它是如何完成的?
在C/C++中编程时是否有任何教程或事情列表需要注意?
我想知道很多事情,比如为什么C的默认行为是通过传递数据而不是引用/地址,或者编译器如何将引用转换为汇编程序,或者C循环如何将自身转换为JMP。
我很担心,因为python使用另一种方式,但另一方面python不使用运算符来复制值,而是一个可能在语法上很重的函数。
我真的不认为知道如何汇编编程真的是必要的,因为它是痛苦的,我猜它只是需要知道一个寄存器等
最终,这个问题归结为“在C/C++中编程时是否有任何教程或需要注意的事项列表?”为此,我会在这里指出:[http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list] – 2010-11-18 16:41:23
强制性的“过早优化是邪恶的”评论在这里。如果你的算法是“O(太多)”(例如,在基于瓦片的游戏中,循环遍历游戏中的所有对象以查明播放器旁边是否有X),那么对C或汇编的深入了解就不能可能会拯救你。优化你自己的优化工作 - 找出优化在哪里(通过剖析,而不是猜测),以及用思想“优化”。另外,可以说“不是真正的问题”。 – delnan 2010-11-18 16:46:06
您需要知道程序集,以便了解计算机的工作原理,以便对其进行优化。 – 2010-11-18 16:53:24