Results 1 to 2 of 2

Thread: Developing for 64 bit

  1. #1

    Thread Starter
    Addicted Member Spirited Machine's Avatar
    Join Date
    May 2009
    Posts
    215

    Developing for 64 bit

    I'm a novice programmer, using vb.net, and a question popped into my head the other day.

    What would I need to do while writing a program to be able to consider it a 64-bit application? Where is the line drawn, what makes the difference? And what capabilities does a 64 bit app have that others do not?

  2. #2
    PowerPoster Jenner's Avatar
    Join Date
    Jan 2008
    Location
    Mentor, OH
    Posts
    3,712

    Re: Developing for 64 bit

    64bit is one of those misunderstood terms in general PC computing. At the hardware level, it refers to CPU and memory systems that take advantage of 64bit registers and 64bit indexing. This alone allows for the computer to be able to access more than 4gig of RAM for example. It allows faster computation of large numbers by the CPU; numbers that have 64bits of precision. It allows larger files to be read and manipulated directly on-disk. The 64bit systems remove some of the limitations in what has been a traditionally 32bit architecture.

    The operating system though takes most advantage of this though. With 64bit drivers, Windows 7 64-bit for example has direct 64-bit access to all of it's hardware and takes full advantage at the 64-bit systems in the CPU.

    There are some downsides too. Programs and memory usage will be larger because they're using 64-bit memory registers as opposed to 32-bit ones. If you had two computers, both the exact same with the exact same software except one was running Windows 32-bit and the other running 64-bit, the 64-bit one will be using more RAM and taking up more space on the hard drive.

    When you're talking .NET, the only difference is that you flipped the compiler "Platform" to "x64". All that does is compile in some optimizations for x64; like some tweaky things for PInvoke for example. You see, VB.NET and C# are compiled not directly into machine code, but into CIL code (Common Intermediate Language), and for the most part, the CIL for 32 and 64 bit looks the same.

    Now the difference is in the actual .NET Framework, the 32bit and 64bit frameworks are VERY different. One is designed to compile the CIL code to run on a 32bit version of Windows and the other on a 64bit version of Windows. Generally, you won't see any performance difference unless you're doing math with lots of 64bit Integers or accessing massive blocks of memory.
    My CodeBank Submissions: TETRIS using VB.NET2010 and XNA4.0, Strong Encryption Class, Hardware ID Information Class, Generic .NET Data Provider Class, Lambda Function Example, Lat/Long to UTM Conversion Class, Audio Class using BASS.DLL

    Remember to RATE the people who helped you and mark your forum RESOLVED when you're done!

    "Two things are infinite: the universe and human stupidity; and I'm not sure about the universe. "
    - Albert Einstein

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width