用户名:  密码:   
您当前的位置:首页 > 

VS编译32与64位程序,MSDN等问题

上次修改时间: 2016-11-28 19:57:36      来源:网络总结      作者:钢铁长陈
上一页      路径:DSD\Learn\      下一页

VS的相关问题

VS有32位和64位之分吗?
VS目前都是32位版本的,包括VS2013也没有64位版本,网上有的绿色版标题党,说是64位的,应该是默认整成了64位的编译器

VS可以安装在那些系统上?
VS可以装在XP、32和64位win7、32和64位win8,的系统上,但最新VS版本不支持XP系统,如VS2013

装在32位系统的VS可以编译出64位的程序吗?
可以,VS自带有32位和64位的编译器,调用32位编译器编译的程序就是32位的,调用64位编译器编译的程序就是64位,跟宿主平台没有关系!但32系统编译出64位的程序不能调试,需要到64位的系统才能调试!

在64位系统的VS可以编译出32位的程序吗
可以,调用32位的编译器就行了,编译出多少位的程序只跟编译器有关系,和宿主平台没有关系。

在VS2013中如何编译出64位的程序
文件——新建项——Visual C++——;win32项目——确定,新建一个C++的项目。
在工具栏 Debug后在下拉箭头——配置管理器,点活动解决方案平台下拉箭头里的新建,在键入或选择新平吧选X64点确定,这里还可以新建ARM
然后就可以在下面项目的平台选择要调用的编译器了,win32表调用32位编译器生成的程序是32位,X64表调用64位编译器生成的程序是64位的,ARM表调用ARM的编译器生成的程序用于ARM平台译器。

为什么微软不开发64位的VS
64bit程序在x86-64处理器上并不会带来明显的性能提高,它只是增加了处理器的寻址范围,可以使用更大的内存。而对于VS这种并非内存敏感的程序,并不十分需要迁移到64bit下。另外,还有一个历史原因,就是微软一直没有完成64bit下的JIT调试器的Edit and Continue功能,这是因为64bit的JIT是C++团队做的,和原生CLR团队的32bit JIT有很多不同,微软现在正在试图统一两者。如果微软推出了64bit的VS,那么调试的体验会受到限制,这也是为什么微软一直以来没有推出64bit VS的原因。

C运行时库函数(C run-timne library)与API的区别
http://blog.sina.com.cn/s/blog_48a45b950100ykzz.html
从某种意义上讲,C运行时库函数是C语言本身提供的函数,包含初始化代码,流程控制等函数,而API函数是操作系统提供的函数,是windows系统提供给程序员的接口,如win32 API就是微软封装在系统里的通用函数。
时库函数是指C语言这种语言本身提供的函数,函数的功能是通过汇编来实现的,因此使用时库函数的程序可以移植到其它操作系统!
API函数是指操作系统,一般指windows操作系统,函数的功能是通过该操作系统来实现的,离开该系统,这些函数不能发生作用!
所以当时库函数和API函数都能完成同一功能时,从兼容性考虑最好使用时库函数。

http://www.dewen.org/q/657/32%2F64+%E4%BD%8D%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E5%BC%80%E5%8F%91%E5%85%BC%E5%AE%B9%E6%80%A7%E9%97%AE%E9%A2%98