Szybki kompilator C++

Kompilator dla wielu systemów operacyjnych i wielu środowisk uruchamiania programów.

Kompilator dla wielu systemów operacyjnych i wielu środowisk uruchamiania programów.

Watcom C/C++ w wersji 11 to kolejna edycja kompilatora języka C/C++ firmy Powersoft. Na tle produktów innych firm wyróżnia go możliwość generowania kodu dla wielu różnych systemów operacyjnych i możliwość pracy w różnych środowiskach. Firma przewidziała zintegrowane środowisko dla Windows (3.1, NT, 95) i OS/2. Użytkownicy DOS-a mają do dyspozycji kompilator z linii poleceń oraz specjalny, wygodny program do przeglądania pomocy.

Wśród systemów, dla jakich tworzony jest kod, można wymienić DOS, zarówno w wersji 16-, jak i 32-bitowej, kod dla Windows 3.1 oraz 32-bitowych wersji Windows (także dla Win32s) i dla OS/2. Watcom pozwala również generować biblioteki rozszerzające dla np. AutoCAD-a bądź Novella.

32-bitowe aplikacje dla DOS-a są tworzone w uniwersalnym formacie LE, który może współpracować z większością ekstenderów dostępnych na rynku. Do kompilatora dołączany jest ekstender DOS4GW (obsługujący 32 MB pamięci). Może wydawać się, że tego typu aplikacje staną się przeżytkiem w erze Windows, lecz większość gier działa nadal pod DOS-em (duża część jest pisana w Watcomie). Istnieje też ekstender TNT PharLab, który obsługuje część API systemu Windows NT.

Generowany kod

Watcom generuje dla Windows zarówno kod 16- jak i 32-bitowy. Programista w Windows 3.1 może wykorzystać specjalny program (WIN386), który pozwala zastosować w 16-bitowym systemie płaską organizację pamięci (bez segmentów o ograniczonej wielkości). Jednak w odróżnieniu od aplikacji wykorzystujących Win32s, ten ekstender nie wymaga żadnych zmian w kodzie programu, który jest nadal 16-bitowy, a programista może korzystać z pewnych dodatkowych funkcji zarządzających pamięcią.

Watcom potrafi tworzyć też 32-bitowy kod dla Windows, który może być uruchamiany pod kontrolą Win32s (w przeciwieństwie do kodu generowanego przez najnowszą wersję Visual C Microsoftu). Niestety, kod wyjściowy jest nieznacznie wolniejszy niż uzyskany przy użyciu Visual C 5.0.

Wprowadzono także wiele ułatwień dla programistów w OS/2. Watcom jest zintegrowany z IBM Developer's WorkFrame/2 1.1 (specjalnym środowiskiem pracy dla programistów). Niezależnie od tego istnieje oddzielna wersja IDE dla OS/2, przypominająca znaną z Windows. Watcom zawiera także SOMobjects Developer Toolkit - obiektowy model ułatwiający korzystanie z API OS/2 w.

Biblioteki

Do pakietu dołączono biblioteki firmy Microsoft MFC (16-bitową w wersji 2.52b oraz 32-bitową w wersji 4.1). Aby ułatwić pisanie aplikacji w MFC, na CD-ROM-ie z kompilatorem znajduje się specjalny generator aplikacji, Visual Programmer - graficzne narzędzie ułatwiające projektowanie aplikacji. To oddzielne narzędzie do pisania programu przy mniejszym nakładzie czasu. Programista, korzystając z interfejsu graficznego i przeciągając elementy, tworzy gotowy interfejs użytkownika. Następnie, klikając na dany element (ewentualnie pisząc kod), określa funkcje poszczególnych poleceń menu czy przycisków. Na uwagę zasługuje konsekwencja w generowaniu kodu - wykorzystywane jest tu wielostopniowe dziedziczenie, a nazwy klas składają się ze ściśle zdefiniowanych członów. Dzięki temu programista szybko może zorientować się w powstałym kodzie. Warto dodać, że Visual Programmer generuje kod zgodny zarówno z MFC 2.52b, jak i 4.1, a więc równocześnie może powstać aplikacja dla 16- i 32-bitowych Windows, o ile programista nie będzie wykorzystywał specyficznych dla Win32 elementów kontrolnych. Niestety, ponieważ Visual Programmer zakłada pewną sformalizowaną postać plików źródłowych, łatwo można uniemożliwić powtórną edycję takiego projektu zmieniając kod "ręcznie".

Rozbudowane możliwości

Pakiet ma wiele interesujących cech. Watcom zawiera rozbudowany optymalizator. W wersji 11 dodano optymalizację, mającą badać przewidywanie rozgałęzień w programie (branch prediction), czego efektem jest wydajniejszy kod dla procesorów Pentium i nowszych. Uwaga! Istnieją wprawdzie "optymalne" ustawienia parametrów optymalizatora dla danego procesora i typu kodu, ale profilując uważnie, można osiągnąć lepsze rezultaty (różnice w prędkości wykonywania przy różnie ustawionych opcjach mogą dochodzić do 15%).

Kompilator Watcom może kompilować także kod dotychczas przetwarzany przy użyciu innych kompilatorów. W tej wersji ulepszono zgodność z kompilatorami firmy Microsoft. Istnieją specjalne programy tłumaczące plik makefile napisany dla NMAKE i opcje kompilatorów Microsoft na postać zrozumiałą dla Watcoma. Ułatwia to przenoszenie projektów do Watcoma, a także korzystanie z SDK Microsoftu.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200