VS报错:error C4235: 使用了非标准扩展: 不支持在此结构上使用“__asm”

在学习汇编时遇到C4235报错
先解释原因

从Visual Studio 2010 开始,微软不再支持在 x64 平台上使用 __asm 内联汇编。这是由于 x64 架构的复杂性增加,以及为了提高代码的安全性和可移植性等原因。

解决方法
一、使用x86编译

 

 二、使用GCC编译器
三、使用汇编器MASM
“dec”: 未声明的标识符 “BeginOEP”: 未声明的标识符 “dec”: 未声明的标识符 “eax”: 未声明的标识符 “eax”: 未声明的标识符 “eax”: 未声明的标识符 “eax”: 未声明的标识符 “EndOEP”: 未声明的标识符 “inc”: 未声明的标识符 “inc”: 未声明的标识符 “mov”: 未声明的标识符 “mov”: 未声明的标识符 “offset”: 未声明的标识符 “offset”: 未声明的标识符 “类型强制转换”: 从“DWORD”转换到更大的“DWORD *” 使用非标准扩展: 不支持在此结构上使用“__asm”关键字 使用非标准扩展: 不支持在此结构上使用“__asm”关键字 使用非标准扩展: 不支持在此结构上使用“__asm”关键字 使用非标准扩展: 不支持在此结构上使用“__asm”关键字 使用非标准扩展: 不支持在此结构上使用“__asm”关键字 使用非标准扩展: 不支持在此结构上使用“__asm”关键字 语法错误: 缺少“;”(在“return”的前面) 语法错误: 缺少“;”(在“}”的前面) 语法错误: 缺少“;”(在“}”的前面) 语法错误: 缺少“;”(在标识符“AddressA”的前面) 语法错误: 缺少“;”(在标识符“AddressB”的前面) 语法错误: 缺少“;”(在标识符“BeginOEP”的前面) 语法错误: 缺少“;”(在标识符“dec”的前面) 语法错误: 缺少“;”(在标识符“dec”的前面) 语法错误: 缺少“;”(在标识符“eax”的前面) 语法错误: 缺少“;”(在标识符“eax”的前面) 语法错误: 缺少“;”(在标识符“eax”的前面) 语法错误: 缺少“;”(在标识符“eax”的前面) 语法错误: 缺少“;”(在标识符“EndOEP”的前面) 语法错误: 缺少“;”(在标识符“MessageBoxA”的前面)
03-08
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值