我在头文件中使用以下代码:
static const struct ExecDataABI* const qtumExec = (const struct ExecDataABI* const) EXEC_DATA_ADDRESS;
static const UniversalAddressABI* const qtumSender = (const UniversalAddressABI* const) &qtumExec->sender;
基本上,内存中有一个只读部分,其中包含ExecDataABI信息。提取qtumExec-> sender是一个非常常见的操作,因此我想将其分解为直接的便捷变量,以便减少所需的键入操作等。
使用此代码,编译器会抱怨“初始化元素不是常量”。无论如何,有没有将其正确表达给编译器?我当然可以计算结构中的字节数,但这很麻烦且容易出错。
答案 0 :(得分:1)
您可以将其定义为预处理器宏,编译器应对其进行优化。