Visual C++ .NET 2003 compatibility

F

Filip Konvicka

Hello,

I'm using VC++ 6.0. Sadly, it lacks some of STL classes,
like hash_set. So I've decided to upgrade to VC++ .NET
2003.

My questions are:
- can I produce PEs for x86, like I did with VC++ 6.0,
with .NET version of VC?
- will my apps run on Windows 95 (I mean 4.0.0.95 or
whatever version is the oldest)?

Thanks for any information.

Best Regards,
Filip
 
K

Ken Alverson

Filip Konvicka said:
I'm using VC++ 6.0. Sadly, it lacks some of STL classes,
like hash_set. So I've decided to upgrade to VC++ .NET
2003.

Please note that hash_set *IS NOT* an STL class. It may be one in the next
iteration of the standard, but it is currently an extension if and when it is
implemented. Also, as an extension, the different implementations by
different vendors are mutually incompatible, so don't expect any code you
write using hash_set to be portable, even if both platforms have a hash_set.

That said, VC 7.1 does provide a hash_set, but it's not in the std::
namespace...it is, instead, in stdext::.
My questions are:
- can I produce PEs for x86, like I did with VC++ 6.0,
with .NET version of VC?
Yes.

- will my apps run on Windows 95 (I mean 4.0.0.95 or
whatever version is the oldest)?

I don't know of any specific reasons why it shouldn't, as long as you limit
yourself to features and APIs that are supported in Win95.

Ken
 
C

Carl Daniel [VC++ MVP]

Ken said:
I don't know of any specific reasons why it shouldn't, as long as you
limit yourself to features and APIs that are supported in Win95.

Win95 is not an officially suported platform for VC7{.1} applications. That
said, most applications will work on Win95 just fine, as long as you limit
yourself to Win95 APIs.

There are issues with MFC requiring OLEACC.DLL which may not be present on
Win95. The workaround for this is to staically link to MFC and delay load
oleacc.dll, assuming you don't actually need any of the functionality that
oleacc.dll provides (which you won't if you're targeting windows 95).

-cd
 
D

David Lowndes

There are issues with MFC requiring OLEACC.DLL which may not be present on
Win95. The workaround for this is to staically link to MFC and delay load
oleacc.dll, assuming you don't actually need any of the functionality that
oleacc.dll provides (which you won't if you're targeting windows 95).

I think the 7.1 MFC already resolved that issue by delayloading
OLEACC.DLL itself.

Dave
 
F

Filip Konvicka

Thank you all, that's exactly what I needed to know.

To Ken: well, it fits within the STL just well and most compilers support
it; from what I know, I don't expect significant differences.

To Carl and David: thank you for pointing me to possible problems; I'll test
that to be sure that it works.

Best Regards,
Filip
 
K

Ken Alverson

Filip Konvicka said:
Thank you all, that's exactly what I needed to know.

To Ken: well, it fits within the STL just well and most compilers support
it; from what I know, I don't expect significant differences.

If you're just using it with built in types for keys, you probably won't see
significant differences. If you start trying to use custom types as keys and
need to write hashing functions and comparators, you'll start to see major
differences.

I agree hash_map, in some form, is a good fit for STL. It just isn't
standard...yet.

Ken
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top