C++宏程序集错误
C++ Macro assembly error
我试图为__declspec(naked)
函数创建一个宏,但我一直收到以下错误:
'sub' identifier is reserved word
'mov' identifier is reserved word
inline assembler syntax error in 'first operand'; found'register'
这是我的宏:
#define NAKED_START __asm{push ebp
mov ebp, esp
sub esp, __LOCAL_SIZE
}
我真的必须使用这个吗:
#define NAKED_START __asm{push ebp}
__asm{mov ebp, esp}
__asm{sub esp, __LOCAL_SIZE}
试着去掉大括号,并将__asm
放在每条指令之前。这样编译器就可以判断每条指令的起始位置。
相关文章:
- 内联程序集printf将整数解释为地址
- 正在解码MSVC 32位版本的程序集(作业).没有手术做什么
- 具有外部"c"和程序集的未定义函数
- 用于将C++代码转换为 Web 程序集的脚本未终止
- 64 位进程中的 AnyCPU C# DLL 无法引用 64 位C++ DLL(给出错误:无法加载文件或程序集)
- 在.NET Core 3.1中运行托管C++/CLI程序集时,映像格式错误
- 使用程序集嵌入数据时"Undefined reference"错误,使用适用于窗口的 mingw-w64 编译(COFF 而不是 ELF)
- 混合模式程序集是针对版本 'v2.0.50727' 构建的 ...本机C++/Visual C++/C# 项目错误
- C++宏程序集错误
- C++外部程序集:我的代码中的错误在哪里
- 从C++调用 dotnet 程序集方法将返回错误COR_E_SAFEARRAYTYPEMISMATCH
- 从C++COM dll生成的互操作程序集出现生成引用错误
- 内联程序集发生Clang错误
- gcc-编译x386程序集代码错误
- 从程序集调用 Win32 的睡眠函数会产生访问冲突错误
- tfs 生成错误 无法注册程序集"MyAssembly.dll" - 访问被拒绝
- Ptx程序集由于错误而中止
- GCC内联程序集错误:无法识别块程序集操作数
- GCC 内联程序集错误:无法获取"this"的地址,这是一个右值表达式
- GCC 内联程序集错误:表达式后的垃圾"(%ebp)+4"