Thread: Difference between 95/98 and WinNT/XP builds?

  1. #1
    Registered User
    Join Date
    Aug 2006
    Posts
    74

    Post Difference between 95/98 and WinNT/XP builds?

    Well this isn't a C++ Programming question, but considering there is no General Programming board here there is really no where better to ask I suppose (C++'s are smarter :P). Anyways:

    What is the difference between builds designed for Windows 95/98/SE/ME and Windows 2000/NT/XP?
    Is it merely builds for the earlier windows are not Unicode 32-bit? I'm just trying to figure out what optimizations are done that separate the two different builds everyone is distributing.

    Thanks, and I'm sure I'll have some follow-up questions as well :P and no rush... I'm in no hurry for the answer.

  2. #2
    Its hard... But im here swgh's Avatar
    Join Date
    Apr 2005
    Location
    England
    Posts
    1,688
    As far as I am aware, anything before windows ME or 2000 used 16bit build files, 32bit would be XP ME and 2000 and windows vista ( when it arrives ) would use 64bit builds.
    Double Helix STL

  3. #3
    Hurry Slowly vart's Avatar
    Join Date
    Oct 2006
    Location
    Rishon LeZion, Israel
    Posts
    6,788
    There is a board for Windows programming

    Win APi is slightly different on Win 9x and WinNT families...
    So when you use such API in your program you need some additional code that will implement functions not implemented by Windows on Win 9x platform or ignore the GetLastError value if it is not set by Windows on this platform or ...

    So your code will be slightly different for these OSes...

    The second issue - concerning more the installation procedure is the different location of regestry keys and private user data on these two families, so the installation is build specificly for one of the family to make it easier the process of determining to correct registry keys to be modified during installation for example...
    All problems in computer science can be solved by another level of indirection,
    except for the problem of too many layers of indirection.
    – David J. Wheeler

  4. #4
    Registered User
    Join Date
    Aug 2006
    Posts
    74
    Quote Originally Posted by vart
    There is a board for Windows programming
    Oops ... makes sense.. 6:00 a.m. here .. pulling a late nighter and guess the brain isn't too sharp.

    Quote Originally Posted by vart
    The second issue - concerning more the installation procedure is the different location of regestry keys and private user data on these two families.
    Ah, I hadn't even remotely thought about that... good to know.

    Quote Originally Posted by vart
    Win APi is slightly different on Win 9x and WinNT families...
    Okie, I'll make note of that.. haven't really had a chance to test my app. on an earlier system as I never use those OS's anymore.. but definitely worthwhile to know in case I encounter problems.

  5. #5
    and the hat of int overfl Salem's Avatar
    Join Date
    Aug 2001
    Location
    The edge of the known universe
    Posts
    39,660
    Moved to right forum.
    If you dance barefoot on the broken glass of undefined behaviour, you've got to expect the occasional cut.
    If at first you don't succeed, try writing your phone number on the exam paper.

  6. #6
    Registered User code2d's Avatar
    Join Date
    Nov 2006
    Location
    Canada
    Posts
    87
    I am no expert but I will tell you what I believe (as a noob). This is more a relation to c++ but I believe it shows evolution of code

    1980s code
    Code:
    main ()
    {
    printf ("hello, world\n") ;
    }
    1990s
    Code:
    #include <stdio.h>
    main ()
    {
    printf ("hello, world\n") ;
    }
    resent code (ANSI)
    Code:
    #include <stdio.h>
    int main ()
    {
    printf ("hello, world\n") ;
    return 0 ;
    }
    Im guessing there is a posibility maybe the resent ANSI code may not work in windows 98. I would guess this would be the same in resent API coding.

    (please feel free to correct me if I have my information wrong)

  7. #7
    Hurry Slowly vart's Avatar
    Join Date
    Oct 2006
    Location
    Rishon LeZion, Israel
    Posts
    6,788
    ANSI code will work on any OS... but it means no GUI... no multi threading... no networking... there are a lot of features that are OS specific.
    All problems in computer science can be solved by another level of indirection,
    except for the problem of too many layers of indirection.
    – David J. Wheeler

  8. #8
    Disrupting the universe Mad_guy's Avatar
    Join Date
    Jun 2005
    Posts
    258
    For the most part, just about all of your applications should work fine on NT as well as the 9x-legacy systems. The only thing you might have to worry about is if you're using kernel-particular APIs as NT is much more complete (it has alternatives to some of the 9x hacks, has built-in unicode support (16bit, you'll probably break ........ if you pass 32-bit strings),) etc.. For usermode, just about all of the APIs have been migrated successfully (there are a lot of kernel-land differences though but you shouldn't worry about it), and there are many new ones such as calls for transparency. If your application uses these types of calls, the application will fail to load, as when the loader loads that program it checks the imports to load the right DLLs, and consequently fill in the import table addresses correctly, if you use an API that isn't there, the loader will kill it and say it has reference to an undefined DLL call.

    Im guessing there is a posibility maybe the resent ANSI code may not work in windows 98.
    That's a standard of the language, which is dependent on if your compiler will actually compile it. Now, there might not be any fully compliant C99 compilers for say win98, but if you compile a non-version specific application using C99 code, the compiler will generate the proper code and you should easily be able to run it on windows 98.
    operating systems: mac os 10.6, debian 5.0, windows 7
    editor: back to emacs because it's more awesomer!!
    version control: git

    website: http://0xff.ath.cx/~as/

Popular pages Recent additions subscribe to a feed