所以这个文件说运行64位Windows给你64位primefaces性: http : //msdn.microsoft.com/en-us/library/windows/desktop/ms684122%28v=vs.85%29.aspx
这篇文章表明你必须运行一个64位应用程序来获得64位primefaces性: 32/64位的primefaces性
我正在开发一个Win32控制台应用程序。 所以,如果我理解正确,我必须使用32位types来获得primefaces性,对吧? 我不能假设一个64位types有primefaces写/读?
在64位应用程序中,64位读/写操作可以是自动的,因为编译器可以利用具有原子64位读/写操作的x64扩展指令集。
另一方面,在64位操作系统和硬件上的32位代码中,如果应用程序需要读取/写入64位数据,则没有可用的64位读/写指令,因此编译器必须生成(至少)两个读/写操作。 由于操作系统可能在两次读/写操作之间抢先进程,因此应该使用Interlockedxxx
API。
注意:如果需要, 可以构建64位的Win32控制台应用程序 。 在这种情况下,编译器可以生成使用64位读/写操作的代码。
当然,由于你的代码可能要读/写大于64位的数据类型(例如SSE2 / 3,AVX等),因此需要多个读/写操作,所以应该使用适当的内在函数来确保所需的操作是原子的。
我并不假定你可以依靠编译器来为你的特定场景做正确的事情,而是建议使用必要的API和内在函数来明确声明你的哪些操作必须是原子的。 这样你就不会在乎你的代码是为x64,x64,ARM,MIPS等编译的