C++ clang inline asm-未定义的符号
我正在尝试从内联汇编代码访问全局变量,但是我会收到错误“未定义的符号:my_var”:
#include <iostream>
int my_var = 0;
__attribute((naked)) int Test()
{
asm(".intel_syntax noprefix;"
"mov eax, my_var;"
"ret;"
".att_syntax;"
);
}
int main()
{
std::cout << Test() << std::endl;
}
我正在使用LLVM(Clang-CL)编译器的Visual Studio。我还尝试了_MY_VAR,但输出相同。使用AT&amp; t语法不是一个选择。
I'm trying to access a global variable from inline assembly code but I get error "undefined symbol: my_var ":
#include <iostream>
int my_var = 0;
__attribute((naked)) int Test()
{
asm(".intel_syntax noprefix;"
"mov eax, my_var;"
"ret;"
".att_syntax;"
);
}
int main()
{
std::cout << Test() << std::endl;
}
I'm using visual studio with LLVM (Clang-cl) compiler. I also tried with _my_var but same output. Using at&t syntax is not an option.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论