| Account Disabled with 1 posts. THREAD STARTER | | Join Date: Aug 2012 Experience: Beginner | |
64-bit software development using 32-bit APIs? What? Help! I'm a bit confused here.
I will be writing code on several different platforms, including Windows 7 64-bit, Ubuntu 64-bit, Mac OSX Snow Leopard 32/64-bit, etc.
I know that in C++, and depending on which compiler, integrated development environment, etc., the compilation process will compile the code to the target architecture for the processor using the operating system's API/GUI to execute the program, whether in a text-based interface(console window), or GUI window(mostly used).
But that's not the confusing part ... the confusing part is the bits.
Let's say I write a program in 32-bit Windows XP professional, release a compiled executable(.exe)extension, copy the file, and test it on my Windows 7 64-bit ... Windows 7 has a 32-bit sub-system ... will it work? Or what about on 32-bit Windows 7? Given the fact that I don't really understand the concept here on how many bits it is released in(depends on the OS I am assuming), does a 32/64 bit difference make any real significant difference or error occur between different versions of Windows, whether or not the bits are the same width(e.g. Windows 98 is 32-bit), or would it depend solely on the operating system?
PS: SDL uses 32-bit code, yet it can be compiled under x64 architecture with 64-bit Windows, and 64-bit IDEs as well. Is it just dependent on the final compilation steps always?
And I am not too sure on how porting works either ... how can you just port a native Windows program to Mac, while keeping it identical? What would the process be here? A complete change of code makeover, or just some tweeks and adjustments?
I'm not a total newbie on software development and hardware, but can any one clear this out for me so I can have a better perspective on this in future endeavors/moments?
Thanks. |