Windows compatability...

How can I know if the programs I write with codeblocks will be compatable with which versions of windows without actually having access to those versions to test them on?

If I use header files such as <assert> <iostream> <iostream.h> <windows.h> <stdio.h> <fstream> <string> <sstream> <conio.h> <ctime> <cstdlib> and <algorithm> as well as "apmatrix" and "apvector", will I be able to run the executables on any platform of windows? I compiled them on windows XP. but i don't have access to other platforms to test them on.
iostream.h isn't standard, neither is conio.h. apmatrix/apvector, well that depends on what's in them.
all i know is that <iostream.h> was included in "apvector.h", as made available by the advanced placement committee. I've used the apvector and apmatrix classes (with modifications) in my programs, and <conio.h> (as well as <iostream.h> ) have brackets around them and I thought that was supposed to indicate they were standard.

Anyways what are the chances if they compiled on my machine running windows xp that they WOULD NOT run on say windows vista or windows 2000 etc?

assumming I HADN'T included conio.h, iostream.h, apmatrix or apvector, would they pretty much compile on any windows system if they compiled on one? I Guess it might depend on <windows.h> then, but then again I'm not using that advanced code so I'm crossing my fingers that I'll be fine.

again i'm talking about the compatability of running an executable on other windows platforms that were compiled on my machine... so whether or not they would compile or not on the other system isn't important....

What should I do? all the computers here at the lab run windows xp and I want to test them to make sure they run on vista 2003 etc whatever other versions are current....
<> instructs the preprocessor to look for the file in user-defined directories. For example, /usr/include. It has nothing to do with a header being standard or not.
All standard C++ headers are extensionless since 1998. Old C++ headers were stripped of their extensions, and headers inherited from C were also added a c at the beggining: iostream.h became iostream, vector.h became vector, math.h became cmath, limits.h became climits, etc.

Anyways what are the chances if they compiled on my machine running windows xp that they WOULD NOT run on say windows vista or windows 2000 etc?
Very low. They're all versions of the NT kernel so they're very compatible with each other. Generally speaking, though, a version written for an older version is more likely to run on a newer version than viceversa.

assumming I HADN'T included conio.h, iostream.h, apmatrix or apvector, would they pretty much compile on any windows system if they compiled on one?
Availability of headers and libraries depends on compiler and configuration. Examples: Borland compilers tend to include conio.h, but GCC doesn't; my compiler is configured to have access to Boost headers, but yours may not be.
Topic archived. No new replies allowed.