我想在C ++模块中定义一些可以在汇编文件中使用的值。我希望在一个枚举中使用它,而不是定义一堆整数,因此不必跟踪所有特定值。
目前,我只是使用以下内容(效果很好):
int foo = 0;
int bar = 1;
但是我想用一个枚举代替它:
extern "C" enum {
foo,
bar
};
这样我就可以在这样的组装模块中使用它:
[EXTERN foo]
...
mov eax, [foo]
...
这可以成功编译,但是在链接g ++时会抱怨:
undefined reference to `foo'
有没有办法为此使用枚举,还是我被迫使用简单的整数?