每次更改时保存变量的新值
Save the new value of a variable whenever it changes
我在 Visual Studio 2015 年使用 C++。我想检查状态变量是否在这些行中发生变化。如果一切正常,状态总是 returns 0 否则 -1。
我的问题是我只检查 最后一个 status 变量。
我怎么知道是否有任何状态为 -1?
int function1(ATF *cm33) {
int status;
uint32_t val;
status = cm33->readData32(SAU_CTRL_Mv8, &val);
status = cm33->writeData32(SAU_CTRL_Mv8, 0x3);
status = cm33->readData32(SAU_CTRL_Mv8, &val);
return status; }
如果你想保留 -1
的值来表示 any 的状态是 non-zero 然后使用
int status = 0;
其次是
status |= cm33->readData32(SAU_CTRL_Mv8, &val);
status |= cm33->writeData32(SAU_CTRL_Mv8, 0x3);
status |= cm33->readData32(SAU_CTRL_Mv8, &val);
如果每个状态都是 0
,这具有 仅 返回 0
的优点。如果可能的状态值以某种方式发生变化,仅添加值 可能 将程序推入未定义状态。不要将其写成 status = a | b | c;
形式的一种表达式,因为由于(怀疑)通过指针对 val
的无序写入,程序的行为将是不确定的。
我在 Visual Studio 2015 年使用 C++。我想检查状态变量是否在这些行中发生变化。如果一切正常,状态总是 returns 0 否则 -1。 我的问题是我只检查 最后一个 status 变量。 我怎么知道是否有任何状态为 -1?
int function1(ATF *cm33) {
int status;
uint32_t val;
status = cm33->readData32(SAU_CTRL_Mv8, &val);
status = cm33->writeData32(SAU_CTRL_Mv8, 0x3);
status = cm33->readData32(SAU_CTRL_Mv8, &val);
return status; }
如果你想保留 -1
的值来表示 any 的状态是 non-zero 然后使用
int status = 0;
其次是
status |= cm33->readData32(SAU_CTRL_Mv8, &val);
status |= cm33->writeData32(SAU_CTRL_Mv8, 0x3);
status |= cm33->readData32(SAU_CTRL_Mv8, &val);
如果每个状态都是 0
,这具有 仅 返回 0
的优点。如果可能的状态值以某种方式发生变化,仅添加值 可能 将程序推入未定义状态。不要将其写成 status = a | b | c;
形式的一种表达式,因为由于(怀疑)通过指针对 val
的无序写入,程序的行为将是不确定的。