WinXPx64 question

T

Timothy V

Hi,
I have a question regarding the .NET Framework 2.0 and x64. I realise these
are still in beta, but I hope someone can help me.

If i had dotnet2.0x64 installed on winxpx64. Does an application compiled on
a winxpx86 (using dotnet2.0x86) require the x86 or x64 edition of dotnet2.0?

I'll try to rephrase that a little better just in case you didn't get it.
Does a 32bit .net application require the 32bit .net framework edition, or
can it use the 64bit .net framework edition?

Thanks guys,

Tim.
 
V

VJ

would be interesting to know... more like going from 16 to 32 bit in middle
to late 90s... i am sure there is some compatablity involved... like it was
for 16 to 32... , so I am hoping 32-bit can still runt with 64bit edition...

VJ
 
B

Brock Allen

Well, since managed code (IL) is JIT compiled, why would your code be specific
to any platform? Wasn't this the whole point?

Now, of course, if you make unmanaged calls that assume a platform (x86 or
otherwise) then you're stuck with that platform. And thus the new /platform
compiler switch. By default the value is "anycpu" which means you don't make
any platform specific assumptions in your code.

-Brock
DevelopMentor
http://staff.develop.com/ballen
 
T

Timothy V

Well, the way i see it is that if an x86 compiled .net application (only
managed calls) were to be able to use the x64 edition of the .net framework,
wouldn't the application then be running in both x86 and x64 mode?

The application being x86 and the managed calls being x64, there could
possibly be a performance increase for the x86 application since the calls
to .net are now x64.

I don't have winxpx64 cpp installed, so i'm unable to test the question i
have asked. So i thought someone in the newsgroups may have asked
themseleves this question and had tested it.
 
B

Brock Allen

Well, the way i see it is that if an x86 compiled .net application
(only managed calls) were to be able to use the x64 edition of the
.net framework, wouldn't the application then be running in both x86
and x64 mode?

Well, that mode is called "anycpu" :) But don't think of it being x86 compiled...
It's compiled to IL. IL is platform independant and when it hits a IA64 CLR,
then it'll be IA64 JIT compiled. So, I think we're on the same page here.

-Brock
DevelopMentor
http://staff.develop.com/ballen
 
P

Phil Wilson

I think you'll be able to say when you install it (or build it). You could
easily do things that would be specific to a 32-bit processor (int instead
of IntPtr in p/invoke) so you'd need to make sure you've written agnostic
code. So there'll be something like AnyCpu, and something else to say 32 or
64-bit specific.
 
B

Bruno Jouhier [MVP]

Timothy V said:
Hi,
I have a question regarding the .NET Framework 2.0 and x64. I realise
these are still in beta, but I hope someone can help me.

If i had dotnet2.0x64 installed on winxpx64. Does an application compiled
on a winxpx86 (using dotnet2.0x86) require the x86 or x64 edition of
dotnet2.0?

I'll try to rephrase that a little better just in case you didn't get it.
Does a 32bit .net application require the 32bit .net framework edition, or
can it use the 64bit .net framework edition?

VS 2005 has a new setting that lets you specify whether your assembly will
target x86, x64 or both cpus. The default mode is to target both cpus. With
this setting, the same assembly can run either on x86 or x64, and the JIT
takes care of the differences.

Marking the assembly as x86 or x64 is useful if your assembly relies on
unmanaged DLLs that don't exist in both flavors.

Bruno.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top