Sign in
|
Join
|
Help
Pavel's Blog
Pavel is a software guy that is interested in almost everything
software related... way too much for too little time
Home
Contact
About
RSS
Atom
Comments RSS
Go
Tags
.NET
.NET 4
.NET 4.0
.NET 4.5
.NET2
64 bit
AI
AJAX
ASP.NET
Audio
Azure
BigInteger
C#
C# 3.0
C# 4.0
C# 5.0
C++
C++0X
C++11
CLR
CLR Explorer
COM
COM Apartments
Console
courses
D&D
Debugging
DEV
Developer Academy 2
Developer Academy 3
Device Drivers
DirectCompute
DirectX
food
Fun
Games
Graphics
HPC
HPC Server 2008
IIS
Intel
Intellisense
Internals
Interop
ITPRO
LINQ
LINQ to SQL
LINQ to XML
Media Foundation
Memory Map Viewer
MFC
Multithreading
MVC
Native API
Native Development
NLP
Numerics
OFFTOPIC
OpenDay
PARSING
PDC2008
ReSharper
Robotics
Shaders
SharePoint 2010
Silverlight
Silverlight 2
Task Parallel Library
TECH
teched
teched_il
TechEd2010
TechedIsrael2008
thoughts
Threading
Tips
TopoEdit
Tutorial
video
Vista
Visual Basic
Visual Studio
Visual Studio 11
Visual Studio 2005
Visual Studio 2008
Visual Studio 2010
VS 2010
WebTech
Win32
WinDbg
Windows Devices User Group
Windows Media Player
Windows Phone
Windows Phone User Group
Windows Platfrom User Group
Windows7
WPF
XAML
XNA
מכללת הי-טק
Archives
February 2012 (3)
January 2012 (6)
December 2011 (6)
November 2011 (5)
October 2011 (5)
September 2011 (5)
August 2011 (5)
July 2011 (3)
June 2011 (3)
May 2011 (3)
April 2011 (3)
March 2011 (8)
February 2011 (4)
January 2011 (5)
December 2010 (5)
November 2010 (13)
October 2010 (4)
September 2010 (5)
August 2010 (7)
July 2010 (1)
June 2010 (3)
May 2010 (4)
April 2010 (1)
March 2010 (2)
February 2010 (2)
January 2010 (3)
December 2009 (1)
November 2009 (4)
October 2009 (5)
September 2009 (3)
August 2009 (1)
July 2009 (4)
June 2009 (3)
May 2009 (2)
April 2009 (3)
March 2009 (2)
February 2009 (5)
January 2009 (3)
December 2008 (2)
November 2008 (4)
October 2008 (7)
September 2008 (6)
August 2008 (5)
July 2008 (6)
June 2008 (3)
May 2008 (5)
April 2008 (2)
March 2008 (9)
February 2008 (4)
January 2008 (9)
December 2007 (6)
Navigation
Home
All Posts
RSS
Popular Tags
Browse by Tags
All Tags
»
64 bit
(
RSS
)
.NET
.NET 4
C#
C++
COM
DEV
Fun
Internals
Interop
Memory Map Viewer
MFC
MS Agent
Native API
Native Development
מכללת הי-טק
COM Fun with Microsoft Agent
25 February 11 03:44 PM
|
pavely
|
1 comment(s)
Whenever I teach COM interoperability in .NET, I try to show some nice demo for this. The classic is to use one of the Office applications (such as Word) to do some automation by creating a document, adding some text, etc. This is effective enough but not really fun. A much more fun way is to use the Microsoft Agent technology. MS Agent is discontinued as far as further development is concerned, but it’s still fun and great for (at least) learning purposes. What is MS Agent? Its most well known appearance...
Dealing With Native DLLs in .NET “AnyCPU” Builds
13 February 11 09:27 PM
|
pavely
|
2 comment(s)
A .NET application can be compiled using the “AnyCPU” configuration, meaning the application runs as 32 bit on a 32 bit OS, and 64 on a 64 bit OS. As long as the application is purely managed, everything should be just fine. However, if the application must use some native DLL through interop (e.g. P/Invoke), then “AnyCPU” may be an issue. A native DLL cannot be both 32 and 64 bit – it’s one or the other. The traditional solution to the problem is to switch the .NET build to a “Win32” or “x64” configuration...
Update to my Virtual Memory Map Viewer
01 June 09 03:51 PM
|
pavely
| with
no comments
I’ve uploaded an updated version of my Virtual Memory Map Viewer on CodePlex . This version has both 32 bit and a 64 bit executables, allowing viewing of 64 bit processes (as well as 32 bit). Quite interesting to see those large address spaces… You can download the latest from CodePlex .
64 bit process addresses
12 April 09 09:00 PM
|
pavely
|
11 comment(s)
native 64 bit processes get a huge address space of 8 TB (instead of the usual 2GB of 32 bit processes). However, to actually get this address space range, the executable image must be linked with the LARGEADDRESSAWARE flag. If it's not, only the lower 2GB will be available. Why is that? Why doesn't a native 64 bit process get automatically the larger address space? I'll leave you to think about this a bit - I'll answer in a few paragraphs. Here's a simple test program: int _tmain...