C#怎么不像C++那样定义Public,这样输入起来麻烦,也不好看

nextzone 2008-12-16 01:42:18
如果在C#中使用Int64的运算,在32位操作系统下,会不会使用64bit指令来执行?
...全文
127 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
nextzone 2008-12-17
  • 打赏
  • 举报
回复
如果.NET不能实现在32bit OS用64bit指令计算Int64,只是MS现在没有做好,而不是不可能。
我想MS不会说这是无法实现的
nextzone 2008-12-17
  • 打赏
  • 举报
回复
OS是32位,和指令位数有必然关系吗?一个是系统管理软件,一个是硬件指令。难道说OS还要先扫描exe文件的二进制码,由OS来进行译码执行?
我认为:OS仅仅是把程序放在RAM的指定位置,(.NET增加个JIT步骤,)然后进行虚拟地址的映射,就跳转到exe文件代码段运行。
当然,如果OS是32bit,指针就是32bit,无法定位64bit空间。
都知道DOS是16位OS,难道说DOS下的软件还要用子程序来执行32位运算?DOS下编译的C程序是有32位选项的
superzxf 2008-12-17
  • 打赏
  • 举报
回复
编译后的中间代码是一样的,最终以什么方式运行取决于目标机的cpu,framework会识别本机的cpu,并编译成最终的目标代码,这是一个jit的优化问题,和源代码无关

huoxudong125 2008-12-16
  • 打赏
  • 举报
回复
呵呵,数据结构我们该复习了
jingzhongrong 2008-12-16
  • 打赏
  • 举报
回复
32位哪来64位指令?
不过Int64运算这种是由.Net framework来保证执行结果的,在32位或者64位的机器上执行结果是相同的。
wjq 2008-12-16
  • 打赏
  • 举报
回复
.NET Framework不是运行在windows上的么?
虚拟机也一样依赖host,host os是32的,那也别想装64的虚拟系统
nextzone 2008-12-16
  • 打赏
  • 举报
回复
这是个JIT优化的问题,据说Mono可以使用MMX、SSE指令进行优化
nextzone 2008-12-16
  • 打赏
  • 举报
回复
按我的理解,32bit操作系统只是说操作系统内部和API主要使用32bit数据
如果.NET的JIT能在编译成本机代码的时候“发现”CPU可以执行64bit指令,是能够使用64bit进行操作的
healer_kx 2008-12-16
  • 打赏
  • 举报
回复
.Net framework的事情,和你的系统的32位和64位,关系不大。要不要虚拟机干啥啊?
vrhero 2008-12-16
  • 打赏
  • 举报
回复
32位操作系统怎么可能有“64bit指令”?

你的问题和标题八十杆子也打不着啊...
hanyu0528 2008-12-16
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zhoufoxcn 的回复:]
Int64是变量所能存储的数值大小,跟系统有什么关系?
那声明一个byte类型的变量,岂不是只能在8bit的系统下运行?
[/Quote]
周公 2008-12-16
  • 打赏
  • 举报
回复
Int64是变量所能存储的数值大小,跟系统有什么关系?
那声明一个byte类型的变量,岂不是只能在8bit的系统下运行?
周公 2008-12-16
  • 打赏
  • 举报
回复
当然不会了。如果在32bit系统能以64bit指令来运行,那还分32bit和64bit干什么?
amingo 2008-12-16
  • 打赏
  • 举报
回复
帮LZ顶

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧