comparing intel::stl on linux and windows

comparing intel::stl on linux and windows

Ritratto di toon_knapen

I understood that the windows and linux compiler are basically identical. However, although the linux version contains a complete stl implementation, I'm not sure this is the case for the windows compiler (for instance seems to be missing). Does icc rely on the MSVC stl on windows ?

12 post / 0 new
Ultimo contenuto
Per informazioni complete sulle ottimizzazioni del compilatore, consultare l'Avviso sull'ottimizzazione
Ritratto di Jennifer J. (Intel)

Yes, you're right.
MSVC++ 6.0 or .NET professional or above is required in order to use Intel C++ Compiler for Windows. icc doesn't provide STL on Windows but rely on STL from MSVC or other vendors.

Regards,
Jennifer

Ritratto di toon_knapen

What is the reason that the Intel STL is not included on windows ?

But since both compilers (the linux and windows version) are identical AFAICT (except the STL of course), could I use the STL included in the linux version on windows ?

Is there a way to kind of guarantee that if my build on linux works, it will also work on windows ?

Thanks, you help is much appreciated (and this forum really provides valuable info).

Ritratto di Jennifer J. (Intel)

I don't think the STL for Linux would work for Windows. The IO part won't work at least. I have had an experience porting a program from Windows to Linux, and had some problem for string. On Windows the ::c_str() return's a null terminated string, but on Linux it's not. The ::length() should be used to decide the size of the string.

So I wouldn't recommend you using the STL for Linux on Windows.

Sorry that Intel C don't provide a STL lib because MSVC already have one. Third party STL may work with Intel C, but it's not tested. You can check out Dinkumware.com for their Windows' STL library.

Thanks,
Jennifer

Ritratto di Anna N.

[...]
> MSVC++ 6.0 or .NET professional or above is required
> in order to use Intel C++ Compiler for Windows.
[...]
> Regards,
> Jennifer

As a side question - is it true that ICC is not able to run with MSVC++ 6.0/.NET Std. Edition? Why not?

Regards,
Anna

Ritratto di Jennifer J. (Intel)

About the MSVC 6.0 or .NET std version question, Intel C's optmization function requires the professional or above.

Thanks,
Jennifer

Ritratto di maximillian-domeika (Intel)

Our Linux and Windows compilers are basically identical, but accept different 'dialects', if you will, under Linux and Windows. On Linux, we try to be as gcc compatible as possible. On Windows, we try to be as Microsoft VC++ compatible as possible. That is why there is no guarantee that source from Linux that compiles with icc will compile with icl on Windows.

Max [Intel Compiler Team]

Ritratto di toon_knapen

Thanks for the invaluable info.
So basically only the front-end is different for windows and linux ?

Have you guys ever tried using STLPort. AFAICT, this would make porting between windows and linux transparent (except for the command line options of course) Such transparancy would IMHO be a hugh added-value for the Intel compiler.

Ritratto di maximillian-domeika (Intel)

> So basically only the front-end is different for
> windows and linux ?

Yes, that is a fair statement other than the obvious object generation differences in the very far back end.
>
> Have you guys ever tried using STLPort. AFAICT, this
> would make porting between windows and linux
> transparent (except for the command line options of
> course) Such transparancy would IMHO be a hugh
> added-value for the Intel compiler.

I am not aware of any such effort in the Compiler team. Thanks for pointing this out with respect to porting between Windows and Linux. In general, the Compiler team has strived to stay out of the library business as much as possible.

Max [Intel Compiler Team]

Ritratto di toon_knapen

In the mean time I've made some progress with icc on windows using STLPort. I can tell you that I've ported a C++ framework (using a lot of generic and meta-programming) from linux to windows without almost any effort. AFACIT this is a BIG added-value to your compiler.

Ritratto di apl@alum.mit.edu

Could you post (or email) the STLport configuration information for Intel C++ 7.0?

Ritratto di GaneshRao (Intel)

Accedere per lasciare un commento.