VC2008内嵌汇编,怎么使用 SIZEOF 操作符,VC不让用啊,估计是和C++的 sizeof 冲突了#include <iostream>
using namespace std;void main()
{
short p[32];
int a;
_asm
{
mov a, SIZEOF p //我这故意用大写也编译不过去
}
cout<<a<<endl;
}编译说找到“newline”是什么意思
1>------ 已启动生成: 项目: main, 配置: Release Win32 ------
1>正在编译...
1>x.cpp
1>.\x.cpp(10) : error C2400: “第二操作数”中的内联汇编语法错误;找到“newline”
1>生成日志保存在“file://c:\Users\Administrator\Desktop\main\main\Release\BuildLog.htm”
1>main - 1 个错误,0 个警告
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========

解决方案 »

  1.   

    用length试试
    #include <iostream>
    using namespace std;void main()
    {
    short p[32];
        int a;
        _asm
        {
            mov a, length p
        }
        cout<<a<<endl;
    }
      

  2.   

    这节的标题是“SIZEOF操作符”
      

  3.   

    不懂,学习,貌似去掉of,size就可以编译了
      

  4.   

    LENGTH: 返回数组元素个数TYPE: 得到变量的大小,如果是数组,则返回数组内单个元素的大小SIZE: 对于数组,是LENGTH和TYPE的乘积