-1

我想定义类似的东西

#define memoryAddress
main()
{
    bla bla bla;
    memory = endAddress- startAddress;
    #memoryAddress = memory;
}

初始化预处理器指令是否可能/有效?基本上,如果需要,我想使用这个特定的指令来更新新的内存地址。例如:如果它是 C 代码中的变量,我会这样做

if(memoryAddress != memory)
memoryAddress=memory

但是由于我想使用这个 memoryAddress 作为预处理器指令,所以我想知道执行上述代码的正确方法。因此,在编译过程开始之前,我将拥有该指令的默认地址,但稍后我想对其进行更新。

4

2 回答 2

1

使用全局变量并使用默认值对其进行初始化。然后您可以在运行时更改它

于 2012-06-26T19:33:23.150 回答
0

预处理器指令由预处理器评估,它发生编译之前。
因此,您尝试执行的操作(使用在编译时而不是在编译之前已知的内容为指令赋值)是不可能的。

于 2012-06-26T19:28:34.557 回答