Can it cause any problem if I use 32-bit library on a 64-bit system?
What could be the incompatibilities?
I know this question is too vague. An example :
I tried to setup FreeGlut 32-bit library with VS2010 on Windows 7 64-bit. There were a lot of issues at first. So, I was looking for 64-bit of FreeGLUT, thinking 32-bit FreeGlut might conflict with 64-bit Windows. But later on I managed to run my 32-bit FreeGlut with my 64-bit Windows without any problem.
Question is, if there are any thing in the program, that we should look into while using those libraries which doesn’t match with the system? (32-bit library on 64-bit OS)
64 bit Windows is fully capable of running 32 bit applications. In fact, the default configuration for Visual C++ is to build an x86 application regardless of the operating system it is running on.
There are some gotchas you have to be aware of when running a 32bit app on 64bit Windows. For instance, there’s registry redirection (to avoid it you pass
KEY_WOW64_64KEYto e.g.RegOpenKeyEx). There’s filesystem redirection, too. These are important things to have in mind when you are reading system configuration values, for example.Also, be aware that you can’t mix 32 and 64 bitness in the same process. Your 32bit app can’t use 64bit DLLs or static libraries.