将变量标记为 "done for"
Mark variable as "done for"
C 语言中是否有语法让编译器知道某个变量已完成并且此后将不再使用,从而可能释放寄存器?我宁愿不使用函数调用,因为它们很昂贵。
我知道我可以重用一个变量,但这会导致歧义(这个变量是什么意思?)。
示例:
first_byte = somestring[0];
/*[do a couple of operations on first_byte]*/
done_for(first_byte);
second_byte = somestring[1];
我没有将数组+索引直接输入到我的操作中的原因是因为我不确定是否所有编译器都会优化它以使用临时寄存器而不是每次都转换地址。
不,我不能使用 'temp' 这样的名字。这是关于读取打包的数据结构。
{
int first_byte = somestring[0];
/*[do a couple of operations on first_byte]*/
}
second_byte = somestring[1];
将其包装到复杂语句中。 first_byte
将仅存在于大括号内。
C 语言中是否有语法让编译器知道某个变量已完成并且此后将不再使用,从而可能释放寄存器?我宁愿不使用函数调用,因为它们很昂贵。
我知道我可以重用一个变量,但这会导致歧义(这个变量是什么意思?)。
示例:
first_byte = somestring[0];
/*[do a couple of operations on first_byte]*/
done_for(first_byte);
second_byte = somestring[1];
我没有将数组+索引直接输入到我的操作中的原因是因为我不确定是否所有编译器都会优化它以使用临时寄存器而不是每次都转换地址。
不,我不能使用 'temp' 这样的名字。这是关于读取打包的数据结构。
{
int first_byte = somestring[0];
/*[do a couple of operations on first_byte]*/
}
second_byte = somestring[1];
将其包装到复杂语句中。 first_byte
将仅存在于大括号内。