Reputation:
here's the situation I'm looking for feedback on:
So, here's my questions:
So, my question boils down to running Apps and Dlls with each other that have been compiled with different versions of Visual Studio, and whether or not it makes a difference if the various layers are linked statically or dynamically.
Thanks for any feedback
Upvotes: 3
Views: 1798
Reputation: 6625
If the signatures of the functions exported from ControllerAPI and WrapperAPI have not changed, your bindings should be fine, static or dynamic.
However, if the types and objects used by the functions (input, output, return parameters) are dependent on an external library; then you may have issues.
For example, say if ControllerAPI allocates memory with one version of the C runtime, and WrapperAPI expects to be able to free it on it's own- then in this case they both need to be linked against the same version of the C runtime. If you recreated the project in VS2008 instead of importing and upgrading it- then your default compile targets and imported libraries may have changed. Similar issues can be observed in libraries created with types known to MFC, ATL, etc.
Unfortunately, you will need to check over these scenarios by hand, but if you can check off the following items, you should be fine. I should also note that these things would also be checked between any two given versions of Visual Studio and even any two builds against different compile targets or versions of the Platform SDK.
Upvotes: 2