On Mon, 16 Dec 2013 12:59:52 +0100, John Colvin wrote:
On Monday, 16 December 2013 at 11:56:07 UTC, Hugo Florentino wrote:
On Mon, 16 Dec 2013 12:40:17 +0100, MrSmith wrote:
I think this is what he want
http://dlang.org/phobos/core_cpuid.html#.isX86_64
Thanks, that's precisely what I needed :)
Are you sure?
This will tell you about the processor, but not necessarily about
what the OS supports. I don't know, but you may find that when using
windows 32bit on an x64 machine, cpuid will tell you the cpu is
64bit,
but the OS won't let you run any 64bit code.
You are right. I realized that this function was not quite what I
needed when running this code on a 32 bit system:
import std.stdio, core.cpuid;
int main() {
immutable auto appname = "myapp";
auto appversion = !isX86_64() ? appname ~ "32" : appname ~ "64") ~
".exe";
scope(failure) return -1;
writeln(appversion);
return 0;
}
I was expecting "myapp32.exe" but got "myapp64.exe". Apparently what
isX86_64() detects is the capability of the processor, not the
arquitecture of the OS.
So currently D has no specific function for detecting the OS
architecture at runtime? I had not expected this.
I will try using the other options though. Thanks