Re: vc6.0 and vc7.0 compatibility
- From: "Ronald Laeremans [MSFT]" <ronaldl@xxxxxxxxxxxxxxxxxxxx>
- Date: Thu, 08 Dec 2005 15:27:55 -0800
JMiessner wrote:
We write a plug-in (DLLs) for an application. The latest release of the application uses the vc7.0 compiler. Previous releases used the vc6.0 compiler. So I must upgrade our plug-in. Problem is our plug-in depends on third-party DLLs compiled and linked with vc6.0; we don't have vc7.0 versions. My plug-in compiles and links correctly with vc7.0 but does not run correctly.The general answer is "no". The more specific answer is that you can only ensure compatibility if you adhere to rules isolating dependencies across the dll boundary. There are 2 common ways to ensure that isolation:
Question is: are vc6.0 DLLs incompatible with a vc7.0 application/DLL?
1) Use COM. The rules of COM are guaranteed to provide the required level of isolation.
2) Define an API layer that does not pass any CRT/ATL/MFC/third party types across the boundary and that does not allocate memory and release it on different sides. E.g. the Win32 API is one that follows these guidelines. It is extremely hard to do this iwth a C++ API, it is feasable to do this with a flat C API.
Ronald Laeremans Visual C++ team .
- Prev by Date: Re: Express repair
- Next by Date: Re: REALLY mixed source files
- Previous by thread: REALLY mixed source files
- Next by thread: MC++ Question
- Index(es):
Relevant Pages
|