找回密码
 欢迎注册
楼主: gxqcn

[讨论] 用vc2008开发64位程序,懂的请进

[复制链接]
发表于 2011-4-27 21:44:31 | 显示全部楼层
20# gxqcn
VC不可以,Intel c++可以,试了一下.
  1. #include <stdio.h>
  2. int main()
  3. {
  4. _int64 a;
  5. _asm
  6. {
  7. mov rax,0x7fff7fff7fff7fff;
  8. mov qword ptr a,rax
  9. }
  10. printf("%I64x\n",a);

  11. return 0;
  12. }
复制代码
执行情况:
  1. Intel Parallel Studio 2011
  2. Copyright (C) 1985-2010 Intel Corporation. All rights reserved.
  3. Intel Parallel Composer 2011 (package 063)
  4. Setting environment for using Microsoft Visual Studio 2005 x64 cross tools.

  5. Intel(R) C++ Compiler XE for applications running on Intel(R) 64, Version 12.0.0
  6. .063 Build 20100721
  7. Copyright (C) 1985-2010 Intel Corporation.  All rights reserved.

  8. icc64.c
  9. Microsoft (R) Incremental Linker Version 8.00.50727.42
  10. Copyright (C) Microsoft Corporation.  All rights reserved.

  11. -out:icc64.exe
  12. icc64.obj
  13. 请按任意键继续. . .
  14. 7fff7fff7fff7fff
  15. 请按任意键继续. . .
复制代码
静态片段:
  1. ; int __cdecl main(int argc, const char **argv, const char **envp)
  2. main proc near

  3. var_18= qword ptr -18h
  4. var_10= dword ptr -10h

  5. sub     rsp, 38h
  6. mov     ecx, 3
  7. call    __intel_new_proc_init
  8. stmxcsr [rsp+38h+var_10]
  9. or      [rsp+38h+var_10], 8040h
  10. ldmxcsr [rsp+38h+var_10]
  11. mov     rax, 7FFF7FFF7FFF7FFFh
  12. mov     [rsp+38h+var_18], rax
  13. lea     rcx, aI64x      ; "%I64x\n"
  14. mov     rdx, [rsp+38h+var_18]
  15. call    printf
  16. xor     eax, eax
  17. add     rsp, 38h
  18. retn
  19. main endp
复制代码

评分

参与人数 1贡献 +3 鲜花 +3 收起 理由
gxqcn + 3 + 3 谢谢提供验证!

查看全部评分

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2011-12-14 14:13:29 | 显示全部楼层
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-3-29 23:38 , Processed in 0.040947 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表