找回密码
 欢迎注册
楼主: 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-12-22 11:32 , Processed in 0.033175 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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