gpt4 book ai didi

C: 我怎样才能改变变量写入的寄存器?

转载 作者:太空宇宙 更新时间:2023-11-04 04:49:00 24 4
gpt4 key购买 nike

C 新手,想知道是否有人可以指出一些阅读 Material 的方向来解决这个问题。我有 2 个寄存器和一个变量:

Register->Foo;
Register->Bar;
myVar;

myVar 是一个数学函数的输出,结果被多次写入 Register->Foo 多次循环,然后当按下按钮时, myVar 被重复写入 Register->Bar 许多周期。

目前,我在每个周期都进行检查,如下所示:

if button not pressed:
write myVar to Register->Foo
else
write myVar to Register->Bar

但我真的只需要在按下按钮时进行检查,而不是每个指令周期。如何仅在按下按钮时更改 myVar 指向的位置,并让该设置在所有循环中保持不变,直到再次按下按钮?这样的事情可能吗?

OutputRegister = myVar // have this run all the time inside a loop

// somewhere else
OutputRegister = Register->Foo or Register->Bar
// depending on button
// What data structure or method can I use to make this!

最佳答案

您应该保留指向正确位置的指针。这样您就可以分配给它并在其他触发器上更改目标。

例如:

int foo;
int bar;
int * dest;

void on_button_press() {
dest = &bar;
}

void on_button_release() {
dest = &foo;
}

void main() {
for (;;) {
// code
*dest = myVar;
// code
}
}

关于C: 我怎样才能改变变量写入的寄存器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17864571/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com