Czy warto sprawić sobie BORLAND C++ 4 ?

Nowy 32-bitowy kompilator Borland C++ 4 zawiera pakiet Win32s Microsofta, pozwalający na uruchamianie 32-bitowych aplikacji w środowisku Windows 3.1. Nowy kompilator Borlanda jest zbliżony do "starych dobrych znajomych" - Turbo Pascala i Turbo C/C++. Dzięki temu "przesiadka" może być szybsza i łatwiejsza. Jest to jednak znacznie więcej niż zwykły upgrade - to zdecydowanie nowa jakość.

Nowy 32-bitowy kompilator Borland C++ 4 zawiera pakiet Win32s Microsofta, pozwalający na uruchamianie 32-bitowych aplikacji w środowisku Windows 3.1. Nowy kompilator Borlanda jest zbliżony do "starych dobrych znajomych" - Turbo Pascala i Turbo C/C++. Dzięki temu "przesiadka" może być szybsza i łatwiejsza. Jest to jednak znacznie więcej niż zwykły upgrade - to zdecydowanie nowa jakość.

Z oporami, lecz zdecydowanie, rośnie w Polsce rzesza programistów posługujących się C i C++. Dla tych Czytelników, którzy już dawno wybrali C++ jako swoje ulubione narzędzie pracy - do wiadomości, dla innych - ku rozwadze - kilka słów o tym, co oferuje nam Borland w pakiecie "Borland C++ 4" i jakie niespodzianki czekają nowych użytkowników przy instalacji i uruchamianiu tego niezaprzeczalnie ciekawego pakietu.

Wymagania sprzętowe i instalacja

Można próbować zainstalować Borland C++ 4 na małym dysku, można także ograniczyć się do 4 MB RAM, ale generowanie 32-bitowych aplikacji będzie wtedy znacznie utrudnione, a praca kompilatora wolniejsza. W przypadku stosowania kompresorów (np. SUPERSTOR, DOUBLE SPACE) należy pamiętać, że wtórna kompresja plików jest mało skuteczna i dysk 80 MB może okazać się "ciasny".

Borland C++ 4 można instalować z dyskietek bądź z CD-ROM. Ponieważ cały pakiet BC++ 4 jest "okienkowo - zorientowany", program instalacyjny wymaga obecności Windows. Uruchomienie programu instalacyjnego następuje zatem z poziomu Menedżera programów rozkazem File | Run... (a w spolszczonej wersji Windows - Plik | Uruchom...) lub z wiersza poleceń DOS-u:

C:\>WIN X:INSTALL

gdzie X: oznacza A: lub B:. Na ekranie pojawia się znajome (z poprzednich wersji C++ ˙i Pascala) okienko programu instalacyjnego. Opcji˙jest˙tylko trochę więcej, zaprezentujemy tylko najciekawsze.

Warto zwrócić uwagę na tzw. rozszerzenie dla Windows (extention to˙MS Windows) - Win32s. W programie INSTALL.EXE do zainstalowania˙tego˙pakietu (pakiet jest oryginalnym produktem Microsofta i˙wymaga 8 MB przestrzeni dyskowej) służy opcja [Install ˙Win32s]. Najważniejszy plik-driver instaluje się w pliku SYSTEM.INI:

device=X:\WINDOWS\SYSTEM\WIN32S\W32S.386

Pozwala to˙na uruchamianie 32-bitowych aplikacji pod Windows 3.1. ˙W systemie Windows NT jest to zbędne.

W przypadku instalacji w sieci, w której Windows są zainstalowane na serwerze, należy pamiętać, że BC++ 4 w trakcie instalacji modyfikuje nie tylko klasyczne parametry systemu:

FILES=40

BUFFERS=40

PATH=...;X:\BC4\BIN;

ale także pliki konfiguracyjne i inicjacyjne w katalogu WINDOWS:

WIN.INI, PROGMAN.INI, SYSTEM.INI

oraz tworzy nowe własne pliki, które będzie próbował zapisać w katalogach \WINDOWS i \WINDOWS\SYSTEM, np. BCW.INI, TDW.INI, HELP.ICO, OWL.INI, BWCC.DLL, itp. (łącznie 18 nowych plików). Brak prawa zapisu na dysk serwera może uniemożliwić poprawną instalację i skonfigurowanie BC++ 4 w sieci.

Borland stosuje konsekwentnie pewną taktykę. Wraz z wersjami bibliotek dostarcza komplet kodów źródłowych. Jeśli chcesz użytkowniku - możesz sam wygenerować całą bibliotekę, jeśli chcesz - możesz na własne oczy przekonać się, jak to wszystko działa i jak jest zbudowane. Oprócz teoretycznych możliwości poznawczych, daje to praktyczną możliwość dostosowania bibliotek do nowej wersji kompilatora, co w przypadku "czwórki" może okazać się dla wielu użytkowników bardzo przydatne.

W skład pakietu wchodzą między innymi:

* BCW - zintegrowane środowisko (IDE) dla środowiska Windows

* TDW - Turbo Debugger for Windows

* BCC - kompilator uruchamiany z DOS

* BCC32 - kompilator 32-bitowy

* BRCC - kompilator zasobów do kompilacji plików *.RC z zasobami do postaci binarnej *.RES

* RLINK - konsolidator, służący do dołączania plików z zasobami przy tworzeniu plików wykonywalnych *.EXE

* TLINK - "zwykły" konsolidator

* MAKE - program narzędziowy do automatyzacji kompilacji i konsolidacji, korzystający z tzw. plików instruktażowych

(emulujący NMAKE Microsofta)

* WINSIGHT - program do przeglądania informacji o okienkach (dla Windows) i komunikatach

* TDUMP - program do bezpośredniego przeglądania informacji zawartych w plikach *.EXE i *.OBJ

* TDSTRIP - narzędzie do usuwania tablicy symboli z plików wykonywalnych

* IMPLIB - importer bibliotek z DLL

* TDMEM - program do wyświetlania informacji o zajętości pamięci

* MAKESWAP - program do zarządzania "swapowaniem" (tworzenie plików tymczasowych EDPMI.SWP o zadanej wielkości)

i jeszcze kilka narzędzi (np. tradycyjny bibliotekarz TLIB, TOUCH, GREP itp.).

Dżungla - doskonale oznakowana

Mogłoby się wydawać, że poruszanie się w 80 MB to koszmar. Nic bardziej błędnego! Znakomitą część z tych 80 MB Borland poświęcił właśnie po to, by ułatwić użytkownikowi poruszanie się po tej "techno-dżungli". Zintegrowane środowisko (IDE) zostało wyposażone w rozbudowaną listwę z narzędziami menu i klasyczny pasek. Kompilatory, jako narzędzia "zdecydowanie dla fachowców", dość długo pozostawały w tyle za innymi programami pod względem tzw. stopnia przyjazności. Pakiety Borlanda są też tradycyjnie już wyposażane w spory system HELP, samouczek TOUR i wiele przykładów.

Czego robić nie należy

Przede wszystkim nie należy traktować Borland C++ 4 jako upgrade do wcześniejszych wersji (tzn. 3.0 lub 3.1). W kompilatorze dokonano sporych zmian (np. inaczej działa operator new). Nie należy zatem instalować go w katalogu poprzednich wersji. Szczególnie dotyczy to plików konfiguracyjnych BCCONFIG.BCW i TDCONFIG.TDW. Jeśli stare wersje tych plików nie zostaną przemianowane, bądź usunięte z pola widzenia (PATH), to pojawią się konflikty przy uruchamianiu BC++ 4.

Ze względu na wprowadzone zmiany pliki .OBJ, tworzone przez wcześniejsze kompilatory C, będą w zasadzie przenośne, natomiast pliki .OBJ i biblioteki, utworzone przez wcześniejsze wersje kompilatorów C++ (szczególnie Borland C++ 3.1), będą sprawiać kłopoty (nie będą np. poprawnie wywoływane destruktory). Przy konsolidacji "starych" plików można stosować opcję -K2 konsolidatora, co pozwoli zmniejszyć do minimum ryzyko konfliktów.

Jeśli mamy Borland Pascal 7

Jeśli mamy już zainstalowany Borland Pascal 7, to należy pamiętać, że poprawna praca obu kompilatorów w jednym systemie wymaga "uregulowania stosunków":

1. Każdy kompilator musi mieć własną kopię debuggera TDW. Aby uniknąć konfliktu, pascalowski debugger można przemianować np.:

TDW.EXE --> PASTDW.EXE

2. Należy usunąć stare pliki inicjujące TDW.INI. Można tu posłużyć się narzędziem TDWINI.EXE.

3. Należy sprawdzić poprawność instalacji driverów w pliku SYSTEM.INI:

DEVICE=X:\BC4\BIN\WINDPMI.386

DEVICE=X:\BC4\BIN\TDDEBUG.386

Należy usunąć dublujące się instalacje, pozostawiając tylko te z BC++ 4, oraz usunąć pascalowskie TDDEBUG.386 (pas) i TDWIN.DLL, by uniemożliwić omyłkowe zainstalowanie.

Przy poprawnym skonfigurowaniu systemu pozostałe zasoby ( w tym np. Resource Workshop 4) będą poprawnie współpracować z BP 7.

Stare zasoby C++

Zapewne większość użytkowników Borland C++ 4 "przesiądzie się" z BC++ 3.0/3.1 lub Turbo C++. I tu także czyhają pewne niebezpieczeństwa. Stare projekty - tradycyjnie .PRJ w BC++ 4, zyskują nowe domyślne rozszerzenie .IDE. W okienku dialogowym zarządzania projektem: Project | Open... za pomocą opcji

[3.1 Project Files (*.prj)]

można dokonać automatycznej konwersji do formatu .IDE, przy czym dawna wersja pliku *.PRJ pozostanie bez zmian. Niektóre dawne kody źródłowe będą wymagać drobnych modyfikacji.

Bibliotka Turbo Vision

Biblioteka Turbo Vision Library - TV.LIB, współpracująca w wersjach 1.0X poprawnie z BC++ 3.0/3.1 powinna zostać powtórnie skompilowana, ponieważ BC++ 4 stosuje inny format:

- informacji diagnostycznych (debug info format)

- inną długość identyfikatorów (symbol length)

- inną bibliotekę Runtime Library

Kod źródłowy biblioteki znajduje się w katalogu:

\BIN\TVISION\SOURCE

Po (uwaga!) wprowadzeniu kilku niewielkich zmian

- do plików źródłowych .CPP

- do pliku instruktażowego MAKEFILE

oraz po skompilowaniu za pomocą BCC 4 w DWÓCH WERSJACH: TVO.LIB (z nakładką - Overlay) i TVNO.LIB (bez nakładki - No Overlay) biblioteka TVL może być nadal z powodzeniem stosowana z Borland C++ 4. Podobnie rekompilacji wymaga bibiloteka klas dołączona w wersji źródłowej w katalogu X:\BC4\SOURCE\CLASSLIB.

Programiści wszystkich krajów...

BC++ 4 zawiera bibliotekę LOCALE.BLL, umożliwiającą obsługę angielsko-, francusko- i niemieckojęzyczną. Borland zapowiada, że następne wersje będą coraz bogatsze. Doczekaliśmy się spolszczenia Windows - może i Borland C++ po polsku już tuż-tuż?

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

TOP 200