当编码,我尽量不使用多变量的内存比需要的现象,导致我写这样的代码:8位的int VS在32位architechture 32位的int(GCC)
for (uint8 i = 0; i < 32; i++) {
...
}
代替:
for (int i = 0; i < 32; i++) {
...
}
上的8位微专时编码(uint8
而不是int
因为i
只需要到最多32个)
这将使意义cessor。但是,如果在32位微处理器上运行此代码(其中int
可能是16位或32位),我是否可以保存所有资源?当我在32位体系结构中明确使用8bit int
时,像GCC这样的编译器是否会在其下执行任何魔术/ juju?
Salut!你有没有试过看在不同的架构上生成的程序集?也许这可以提供一些有关这方面的见解? – Eregrith
如果你是从微观优化的角度来问这个问题的话,你可以玩像intfast8_t这样的东西。 – Mysticial
它是'zoozoo',而不是'juju' ... :-) –