IDE dla Watcom C/C++
-- Sebastian Pawlak, PCKurier 26/1997.
Jednym z najpopularniejszych na świecie kompilatorów języka C jest bez wątpienia Watcom C. Obsługuje on tryb chroniony - umożliwia korzystanie z całej pamięci komputera bez podziałów na segmenty. W programie bez żadnych kłopotów możemy zadeklarować tablicę o takich "skromnych" rozmiarach:
unsigned char tablica [10000000]; // tablica na 10MB można też przydzielić pamięć dynamicznie: unsigned char *tablica=new unsigned char [10000000]; delete [] tablica; // zwolnienie pamięci
Oprócz przedstawionych powyżej dogodności, Watcom C/C++ generuje kod o bardzo wysokich parametrach. Wiele firm produkujących gry komputerowe stworzyło dzięki temu kompilatorowi swoje największe hity - wymienię tylko kilka tytułów: DOOM, Raptor, System Shock, Descent, Magic Carpet, NASCAR Racing, Terminal Velocity itd. Obecnie nie widuje się już programów, które przy uruchamianiu nie wyświetlają "DOS4GW" (co oznacza, że pracują w trybie chronionym).
Mimo tych wszystkich zalet poważną wadą Watcom C jest brak dobrego IDE, czyli środowiska, w którym piszemy, sprawdzamy i uruchamiamy nasze programy. Uciążliwe jest pisanie kodu np. edytorem Norton Commander, zapisywanie na dysk, wychodzenie z edytora, uruchamianie kompilatora z odpowiednimi parametrami, później znów wchodzenie do edytora, odszukiwanie miejsc, w których były błędy, itd. Poza tym nie są podświetlane słowa kluczowe, kursor zawsze jest na początku wiersza, a nie tam gdzie zaczyna się wcięcie bloku tekstu. Po chwili zastanowienia doszedłem do wniosku, że do pisania programów w Watcom C może posłużyć IDE od Borland C++.
Oto jak namówić IDE Borlanda do współpracy z kompilatorem Watcoma:
- Do autoexec.bat wpisz: SET DPMIMEM=MAXMEM 1560
Dodaj ścieżkę dostępu do katalogu, w którym znajduje się "bc.exe". Z config.sys usuń EMM386, albo spraw by nie "pochłaniał" on całej pamięci komputera, np. możesz wpisać:
DEVICE=C:\\DOS\\EMM386.EXE 14000
Jeśli po zaimplementowaniu wszystkich narzędzi, w okienku komunikatów nie pojawiają się komunikaty o błędach, albo nie można uruchomić helpów, to oznacza, że nadal za dużo pamięci poświęcane jest dla EMS.
- Jeśli IDE od BC++ będzie używane tylko do edycji programów
pisanych w Watcom C, to usuń plik z deklaracją narzędzi " tcdef.dpr".
Uruchom IDE Borlanda, poprzez "bc.exe".
- Otwórz z menu okno "Options", wybierz "Transfer..."
- Zejdź na sam dół okna "Program Titles" tak, aby pasek wskazywał
na puste miejsce, kliknij "Edit".
- W pole "Program Titles" nowo otwartego okna, wpisz nazwę pierwszego
implementowanego programu:
~Watcom C 32 Compiler
Znak ~ oznacza, że litera stojąca po nim (W) będzie podświetlona na
liście narzędzi.
- W kolejne pole "Program Path" wpisz:
C:\\WATCOM\\BINB\\WCL386
Ścieżkę należy zmodyfikować tak, aby wskazywała miejsce,
gdzie znajduje się plik "WCL386.EXE"
- W polu "Command Line" umieść parametry:
-mf /ot -cc $SAVE ALL $NOSWAP $EDNAME $CAP MSG(tasm2msg)
Trzy pierwsze parametry możesz zmieniać w zależności od tego,
jak chcesz wywołać kompilator.
- Przypisz narzędziu Hot Key (kombinację klawiszy po wciśnięciu,
której uruchomisz kompilację), w tym celu kliknij na którejś
z wolnych kombinacji Shift+F. Jeśli wszystkie skróty klawiszowe
są już zajęte, zwolnij je, wybierając w zbędnych narzędziach
"Unassigned". Teraz zaznacz jeszcze "Translator", kliknij
"Modify" i gotowe. Jedno narzędzie już masz.
Pozostałe programy deklaruje się w podobny sposób, więc podam
tylko odpowiednie parametry (ścieżki należy tak modyfikować,
aby prawidłowo wskazywały na pliki):
*** kompilator C++ ***
"Program Titles": ~Watcom C++ 32 Compiler
"Program Path": C:\\WATCOM\\BINB\\WCL386
"Command Line":
-mf /ot -cc++ $SAVE ALL $NOSWAP $EDNAME $CAP MSG(tasm2msg)
zaznacz "Translator", wybierz Hot Key
*** Watcom Programmers Guide Help ***
"Program Titles": Watcom Programmers Guide Help
"Program Path": C:\\WATCOM\\BIN\\WHELP
"Command Line": PGUIDE
wybierz Hot Key
*** Watcom C Guide Help ***
"Program Titles": Watcom C Guide Help
"Program Path": C:\\WATCOM\\BIN\\WHELP
"Command Line": CGUIDE
wybierz Hot Key
*** Watcom C Library Help ***
"Program Titles": Watcom C Library Help
"Program Path": C:\\WATCOM\\BIN\\WHELP
"Command Line": CLIB
wybierz Hot Key
*** Watcom CPP Library Help ***
"Program Titles": Watcom CPP Library Help
"Program Path": C:\\WATCOM\\BIN\\WHELP
"Command Line": CPPLIB
wybierz Hot Key
Hot Key`e należy ustawić tak, żeby łatwo było korzystać z
narzędzi:
Watcom C 32 Compiler Shift+F8
Watcom C++ 32 Compiler Shift+F9
Watcom Programmers Guide Help Shift+F2
Watcom C Guide Help Shift+F3
Watcom C Library Help Shift+F4
Watcom CPP Library Help Shift+F5
Teraz można kompilować programy w IDE Borlanda i uruchamiać helpy. Jeśli nie pamiętasz zdefiniowanych kombinacji klawiszy dla poszczególnych narzędzi, możesz je uruchamiać, wybierając odpowiednie z listy. Z menu gdzie znajduje się lista narzędzi, wybierz okno oznaczone potrójną poziomą kreską (tam, gdzie jest opcja "Repaint desktop").
Mimo dużych możliwości jakie daje wprowadzenie powyższych deklaracji, aby uruchomić skompilowany w IDE program, nadal trzeba wchodzić do DOS i wpisywać jego nazwę z linii poleceń. Jednak i tę niedogodność da się ominąć!
Należy skompilować poniższy program: WCL.EXE uruchom.c
/* Program zarządzający uruchamianiem spod IDE Borland`a */
/* programów pisanych w Watcom C */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <io.h>
#include <fcntl.h>
void main (int argc,char *argv[],char *env[])
{
int Plik;
char Lancuch[100];
if (argc<2)
{ printf ("brak parametru !\n"); exit (EXIT_FAILURE); }
/* skoryguj ścieżkę do Twojego ide.bat, ma bć taka sama
jak do bc.exe */
Plik=creat ("C:\\BORLANDC\\BIN\\IDE.BAT",S_IWUSR|O_TEXT);
strcpy (Lancuch,"@uruchom -clear\n:jeszcze_raz\n");
strcat (Lancuch,"@bc.exe %1 %2 %3 %4\n\0");
write (Plik,Lancuch,strlen (Lancuch));
/* jeżli nie ma opcji -clear to ... */
if (strcmp ("-clear",argv [1]))
{
strcpy (Lancuch,"@");
strcat (Lancuch,argv [1]);
strcat (Lancuch,"\n");
write (Plik,Lancuch,strlen (Lancuch));
strcpy (Lancuch,"@goto jeszcze_raz\n");
write (Plik,Lancuch,strlen (Lancuch));
}
close (Plik);
}
Plik ze skompilowanym programem "uruchom.exe" trzeba przenieść do katalogu, w którym znajduje się "bc.exe". Do listy narzędzi należy dodać jeszcze dwa:
*** RUN PROGRAM ***
"Program Titles": RUN PROGRAM
"Program Path": C:\\BORLANDC\\BIN\\uruchom
"Command Line": $EXENAME $NOSWAP
wybierz Hot Key Shift+F7
*** NO RUN PROGRAM ***
"Program Titles": NO RUN PROGRAM
"Program Path": C:\\BORLANDC\\BIN\\uruchom
"Command Line": -clear $NOSWAP
wybierz Hot Key Shift+F6
Teraz trzeba wybrać Shift+F7, aby program utworzył plik
"ide.bat", a następnie Shift+F6. Wyjść z IDE. I to wszystko !
Teraz można już pracować, czyli:
- wejść do katalogu, w którym będziesz tworzyć swój program
np. C:\\WATCOM\\PROGRAMY\\,
- następnie uruchom swoje nowe IDE, pisząc "ide.bat"
- możesz podać pliki, które chcesz aby pojawiły się w edytorze,
np. ide PIERWSZY.CPP.
- Jesteś już w IDE, możesz otwierać pliki, zapisywać, edytować,
korzystać z helpów, kompilować.
- Skompiluj swój program (np. Shift+F8), a teraz obejrzyj jego
działanie. W tym celu wciśnij Shift+F7 (RUN PROGRAM) - informacja
o tym, że będzie on uruchamiany została umieszczona w pliku "ide.bat".
- Wciśnij Alt+X (wyjście z IDE)... uruchomił się twój program!
Przerwij jego działanie... jesteś w IDE! Dokonaj poprawek i
ponownie uruchom program kombinacją klawiszy Alt+X... wykonuje
się! Przerwij... znowu w IDE! Otwórz inny plik z programem,
skompiluj go, przed uruchomieniem wciśnij ponownie Shift+F7,
aby wpisać nazwę nowego pliku "exe" do "ide.bat", teraz możesz
uruchomić program kombinacją klawiszy Alt+X.
No tak, ale teraz nie można wyjść z IDE! Owszem można,
wciśnij Shift+F6 (NO RUN PROGRAM) i teraz Alt+X ... jesteś w DOS!
Mam nadzieję, że przedstawione przeze mnie rozwiązanie problemu niewygodnej edycji programów w Watcom C usprawni i uprzyjemni ich pisanie.





