C ++中用于汇编的extern“ C”枚举

时间:2019-05-21 23:08:31

标签: c++ c assembly

我想在C ++模块中定义一些可以在汇编文件中使用的值。我希望在一个枚举中使用它,而不是定义一堆整数,因此不必跟踪所有特定值。

目前,我只是使用以下内容(效果很好):

int foo = 0;
int bar = 1;

但是我想用一个枚举代替它:

extern "C" enum {
    foo,
    bar
};

这样我就可以在这样的组装模块中使用它:

[EXTERN foo]
...
mov eax, [foo]
...

这可以成功编译,但是在链接g ++时会抱怨:

undefined reference to `foo'

有没有办法为此使用枚举,还是我被迫使用简单的整数?

0 个答案:

没有答案