作者: eaglet 2008 年我写过一篇博客叫 <让.Net 应用程序突破2G的内存访问限制> 这篇博客主要讲述了如何在32位操作系统下利用AWE 扩展访问超过2G的内存.AWE方式虽然可以访问超过2G的内存,但其本身也有一些问题,首先必须要锁定内存,其次需要自己写内存管理程序来管理这些内 存,.net framework 无法在AWE 扩展的内存中创建托管堆.其实很多应用只是想申请比2G稍多一些的内存,最简单的方法还是采用/3GB开关来实现.本文将讲述如何利用 /3GB开关来让32位操作…
php strtotime 在32位操作系统下的限制 <?php class DateHelper{ /** * 在32位操作系统下,超过 2038-01-19 03:14:07 ,会溢出 * @param unknown $time * @return number */ public static function strtotimeUnsafe($time){ return strtotime($time); } /** * 安全的方式 * @param unknown $time * @…
背景:一个第三方组件是C++.NET  32位开发的,后被C#(基于FrameWork4.0)调用并封装成组件,此二次封装的组件无法运行于64位操作系统上.        开发环境:VS2012:解决办法:        1.于64位操作系统上分别安装vcredist_VS2010_x64和vcredist_VS2010_x86:        2.选择宿主Exe 的目标框架为FrameWork 4.5,如果有条件组件也可以用Framework4.5,实际证明4.0也可,请看后续说明:     …
需求:64位的软件当在32位操作系统下安装时,需要提示用户不能在32位操作系统中进行安装 实现:打包时启用64位模式(打包工具用的是Inno Setup 5) 安装脚本段需要添加以下代码: [Setup] ArchitecturesAllowed=x64 ArchitecturesInstallIn64BitMode=x64 这样打包出来的程序包在32位操作系统安装时就会给出提示信息,提示信息如下图: 这样的提示信息可能部分客户不是很理解,需要换成我们熟知的提示信息(只能在64位操作系统下安装)…
Windows 64位操作系统为提供对32位应用程序的兼容,在“C:\Windows\SysWOW64”目录下保留了很多32位的工具(如CMD.exe是32位的).在Windows 64位操作系统上跑三十二位应用程序,操作注册表,搜素目录时,微软通过反射(Reflector),会将“\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall”替换为"\\SOFTWARE\\Wow6432Node\\Microsoft\\Windows\\C…
缘由:在64位操作系统下IIS发布32位的项目,报“项目依赖的dll无法读取,试图加载格式不正确的程序”错误. 原因:程序集之间的通讯要么全是64位环境下的,要么全是32位环境下的.不能混编访问.不然会出现“试图加载格式不正确的程序”的错误. 解决方法: [C/S] 运行C/S程序比较简单,直接在Build C/S程序的时候显式指定为X86(64位系统默认为X64)就可以了. [B/S] 运行B/S稍稍复杂点.在建立网站的时候,又分为两种情况. A:建立的是“项目”:这个时候跟 C/S 的处理是…
借由这个问题,今天我们就把 32 位 CPU.64 位 CPU.32 位操作系统.64 位操作系统之间的区别与联系彻底搞清楚.对于这个问题,博主也是一知半解了好长时间啊~ 基本概念 32位的CPU与64位CPU 以下内容摘自维基百科: 64 位 CPU 是指 CPU 内部的通用寄存器的宽度为 64 比特,支持整数的 64 比特宽度的算术与逻辑运算.那么 32 位 CPU 同理. 一个 CPU,联系外部的数据总线与地址总线,可能有不同的宽度:术语“64位”也常用于描述这些总线的大小.不过这一术语也…
原文:Installshield 64位操作系统下拷贝文件,如何重定向到32位的系统文件夹下 64位操作系统下拷贝文件重定向问题,在在复制代码前加上Disable(WOW64FSREDIRECTION);就可以解决64位系统默认复制到syswow64的问题 但是注意: Disable(WOW64FSREDIRECTION);         CopyFile( SUPPORTDIR^"MUCam32.dll", WINSYSDIR^"MUCam32.dll"); 是…
32位操作系统最多只支持4G内存. CPU能不能直接访问硬盘的数据呢, 不能. 只能通过把硬盘的数据先放到内存里, 然后再从内存里访问硬盘的数据.我们平时玩游戏碰上读图loading 进度条的这个过程, 就是把数据从硬盘读到内存的过程啊. 读完条后地图的数据就在内存中了. 内存是把8个8个bit排成1组, 每1组成为1个单位, 大小是1byte(字节), CPU每一次只能访问1个byte, 而不能单独去访问具体的1个小格子(bit).1个byte字节就是内存的最小的IO单位. 1千兆字节(gb)…
因为32位操作系统的地址空间为32位,地址总数为2^32,每个地址对应1Byte内存空间,这样,32位操作系统管理的最大内存空间限制为2^32Byte=4*1024*1024*1024Byte,即4GB.       另外,补充一点,1Byte=8bit,即每个地址在内存上对应8位,这就是C++程序中最小的变量 char 型变量大小为1Byte的由来.…