[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference decwet::nt-developers

Title:MS Windows NT Developers
Notice:See note 1222 for MS bug reporting info
Moderator:TARKIN::LINEIBER
Created:Mon Nov 11 1991
Last Modified:Tue Jun 03 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:3247
Total number of notes:15633

3232.0. "What is the story on Windows NT on Alpha in native mode?" by TLE::ALEXANDER (Jack) Thu May 01 1997 14:39

Is there a plan for making Windows NT available on Alpha in native (64-bit)
mode? If so, when might it be available?
thanks,
T.RTitleUserPersonal
Name
DateLines
3232.1GEMEVN::GLOSSOPKent GlossopThu May 01 1997 14:566
What exactly do you mean by "native mode"?  All of the OS is fully native
code, while applications vary.  There is an __int64 type that can be used
in C/C++ to manipulate 64b data if long as 32b isn't sufficient.

Do you mean the ability to use 64b pointers in native code to get more
than 2Gb of process memory?  Something else?
3232.2BHAJEE::JAERVINENOra, the Old Rural AmateurThu May 01 1997 17:433
    The Windows NT conference should have a lot of topics discussing
    "64-bitness". Look for VLM.
    
3232.3TLE::ALEXANDERJackMon May 05 1997 15:5711
re: .2 thanks for the pointer to other discussions on the subject. I'll check it
out. The white paper in 5442.0 looks like what I wanted.

re: .1
	Can an application use a 64 bit pointer just like a 'real' pointer?
	Which operations are avilable for 64 bit integers?
	Are there other integer sizes, between 32 and 64, that can be used?
	Is there ability to access files graeter than 4GB today?


thanks,
3232.4DECCXL::OUELLETTEmudseason into blackfly seasonMon May 05 1997 17:3338
>	Can an application use a 64 bit pointer just like a 'real' pointer?
Yes.  If you have VC++ V5.0, you can try with something like:

#include <stdio.h>
int * __ptr64 p = 0;
int * small_p = (int *) 0x1234;

struct S
{
  char c;
  int * __ptr64 p;
} s = { 1 };

void main(void)
{
  printf("%.16I64x\n", (__int64) s.p);
  s.p--;
  printf("%.16I64x\n", (__int64) s.p);
  p = small_p;
  printf("%.16I64x\n", (__int64) p);
  p += 0x100000000;
  printf("%.16I64x\n", (__int64) p);
}


>	Which operations are avilable for 64 bit integers?

All of them.  They act just like char, short, int and long.

>	Are there other integer sizes, between 32 and 64, that can be used?

None built in.  If a user wants to make a struct with (say) 48 bit and
write the C++ operators, they could implement it.  The compiler itself
knows about 1, 2, 4 and 8 byte long integers.

>	Is there ability to access files graeter than 4GB today?

Ask the OS people.
3232.5DECWET::SCHREIBERDECeNTMon May 05 1997 19:164
            Is there ability to access files graeter than 4GB today?
    
    Yes.  NT has supported files greater than 4GB for a long time.  This is
    covered in the documentation.