<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Point41 &#187; EDITBIN</title>
	<atom:link href="http://www.point41.com/index.php/tag/editbin/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.point41.com</link>
	<description>IT Tips &#38; Tricks</description>
	<lastBuildDate>Thu, 13 Aug 2009 21:24:22 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>4GB Virtual Address Space Under WoW64</title>
		<link>http://www.point41.com/index.php/2009/08/11/4gb-virtual-address-space-under-wow64/</link>
		<comments>http://www.point41.com/index.php/2009/08/11/4gb-virtual-address-space-under-wow64/#comments</comments>
		<pubDate>Tue, 11 Aug 2009 23:07:28 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Windows x64]]></category>
		<category><![CDATA[/LARGEADDRESSAWARE]]></category>
		<category><![CDATA[EDITBIN]]></category>

		<guid isPermaLink="false">http://www.point41.com/?p=79</guid>
		<description><![CDATA[In Windows x86 your 32-bit application can only address 2GB of virtual address space. The other 2GB has been reserved for kernel operations. Under Windows x64, with the 32-bit application running under WoW64, you can give the access to the full 4GB virtual address space by changing a flag in the PE header. This is [...]]]></description>
			<content:encoded><![CDATA[<p>In Windows x86 your 32-bit application can only address 2GB of virtual address space. The other 2GB has been reserved for kernel operations. Under Windows x64, with the 32-bit application running under WoW64, you can give the access to the full 4GB virtual address space by changing a flag in the PE header. This is accomplished by using the <b>EDITBIN.EXE</b> utility which comes with Visual Studio.
</p>
<div style="background-color: #dfdfdf; padding: 16px 16px 16px 16px; font-family: courier; font-size:10px;">
editbin /LARGEADDRESSAWARE xxx.exe
</div>
<p>Why not just simply compile and link xxx.exe as a native 64-bit application and get much more than 4GB? Well, the application may be using libraries and components which are only available as 32-bit binaries. In this case, building a 64-bit app is not an option. Also, if you have been following Rico Mariani&#8217;s (of Visual Studio fame) blog, you would know that there are some <a href="http://blogs.msdn.com/ricom/archive/2009/06/10/visual-studio-why-is-there-no-64-bit-version.aspx">disadvantages</a> of running native 64-bit applications vs. 32-bit applications under WoW64 &#8211; the main thing being that all address pointers would be twice the size, meaning a larger memory footprint and slower memory access.
</p>
<p>
You can use the <b>DUMPBIN.EXE</b> utility (also part of Visual Studio tools), to find out the setting of the /LARGEADDRESSAWARE flag in the header.
</p>
<div style="background-color: #dfdfdf; padding: 16px 16px 16px 16px; font-family: courier; font-size:10px;">
dumpbin /HEADERS xxx.exe
</div>
<p><img src="http://www.point41.com/wp-content/uploads/2009/08/dumpbin.gif"/></p>
<p>
In the output of DUMPBIN look out for <i>Application can handle large (>2GB) addresses</i>. This means that your 32-bit app will be able to address the full 4GB address space when running under Windows x64. Note that when running the app in 32-bit Windows configured with the /3GB option, the app will be able to address 3GB.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.point41.com/index.php/2009/08/11/4gb-virtual-address-space-under-wow64/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
