gpt4 book ai didi

c++ - 全局使用公共(public)变量

转载 作者:行者123 更新时间:2023-11-27 22:30:25 26 4
gpt4 key购买 nike

我正在尝试修改 MIPS 模拟器以在运行时显示其寄存器的内容。我的问题是指我计划这样做的方式。所以……

我有一个文件,file1.cpp 和 file2.cpp。 file1.cpp 中有一个本地公共(public)变量,名为

typedef long ValueGPR;
ValueGPR reg[33];

我想在 file2.cpp 中访问。这些文件中的每一个都有一个头文件。 File2.cpp 包含一个函数,该函数逐条迭代地跟踪程序指令的执行,使其成为插入 printf("REG[%d]:%d\n",i,reg[i]); 的完美位置。声明或类似的东西,但 reg 是 file1.cpp 中的局部变量。如何将允许我访问此 reg 变量的内容拼接在一起?

这两个文件实际上是这样的(在仔细考虑之后):“文件 1.h”

typedef long ValueGPR;
...
class ThreadContext {
...
public:
ValueGPR reg[33];
...
...
}
...

“文件2.cpp”

...
#include ".../ThreadContext.h"
...
long ExecutionFlow::exeInst(void) {
...
//ADD PRINTF OF reg[1] - reg[32] HERE
...
}
...

最佳答案

我会将 typedef 连同以下声明一起移动到 file1.h 中:

extern ValueGPR reg[];

ValueGPR reg[33]; 留在 file1.cpp 中。

关于c++ - 全局使用公共(public)变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3187843/

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