Im Test: Intels neue Compiler 9.0

Compiler-Wechsel möglich

Eine dieser Einstellungen bei den „General Properties“ dient zum Beispiel dem Umschalten zwischen den Compilern. Es ist somit ein Leichtes, zwischen den Compilern hin- und herzuschalten. Unter Nutzung der Configurations von Visual Studio ist also auch ein Build möglich, bei dem zwei Versionen eines Programms gebaut werden: eine mit den Intel-Tools, die andere mit Microsofts Werkzeugen.

Intels Optionen finden sich hauptsächlich im „Optimization“-Bereich von Compiler und Linker sowie im „Code Generation“-Bereich des Compilers. Die Optionen sind größtenteils vernünftig erläutert, und die Dokumentation ist leicht zu erreichen: Intels Integration in die IDE geht so weit, dass auch der kontextsensitive Hilfe-Button auf dem Dialog zum Einstellen der Optionen funktioniert.

Auf die Kompatibilität zu Microsofts Compiler legt Intel ebenfalls großen Wert. Dabei werden extra drei Optionen für das Behandeln von bekannten Fehlern im Microsoft-Compiler angeboten: So lässt sich einstellen, wie stark der Intel-Compiler diese Fehler selbst übernehmen soll. Ein Beispiel wäre der folgende Fall:

int i = 5;
+i = 4;

Der Compiler von Microsoft bemängelt das mit left operand must be lvalue und weist zumindest auf einen Fehler hin. Ältere Versionen des Compilers ignorierten aber einfach einen „unary operator“, wenn dieser auf ein lvalue angewendet wurde.

Intels C++-Compiler bemängelt das angegebene Beispiel (besser als Microsoft) mit error: expression must be a modifiable lvalue. Wünscht man sich aber vom Intel-Compiler das gleiche fehlerhafte Verhalten der älteren Microsoft-Versionen, dann kann man dem Compiler dies per Option mitteilen.