|
 |
|
|
|
|
LEKCJA 1. Co o C i
C++ ka┐dy wiedzieµ powinien.
_______________________________________________________________
W trakcie tej lekcji dowiesz siΩ, dlaczego pora na
C++.
________________________________________________________________
JΩzyk C++ jest uniwersalnym, nowoczesnym jΩzykiem
programowania.
Stosowane przez USA i inne kraje wobec Polski
wieloletnie
embargo COCOM'u (przeszkody w dostΩpie do
nowoczesnej
technologii) sprawi│y m. in., ┐e popularno╢µ
OS2, UNIXa i C/C++
jest w Polsce do dzi╢ nieproporcjonalnie ma│a, a
Basica, Pascala
i DOSa nieproporcjonalnie du┐a. W USA C++ ju┐ od
kilku lat
stanowi podstawowe narzΩdzie programist≤w.
Ju┐ s│yszΩ oburzenie (A co mnie obchodzi historia
"komputerologii" i koligacyjki!). Ot≤┐
obchodzi, bo wynikaj▒ z
niej pewne "grzechy pierworodne" jΩzyka
C/C++, a dla Ciebie,
szanowny Czytelniku - pewne wnioski praktyczne.
Grzech Pierwszy:
* Kompilator jΩzyka C/C++ jest standardowym wyposa┐eniem
systemu
operacyjnego UNIX.
Skutki praktyczne:
Ka┐dy PC jest w momencie zakupu (co czΩsto wchodzi
w cenΩ zakupu
komputera) wyposa┐any w system operacyjny DOS - np.
DR DOS, PC
DOS, PTS DOS lub MS DOS. Standardowo w zestaw
systemu MS DOS
wchodzi interpreter jΩzyka BASIC (w MS-DOS -
QBasic.EXE). Mo┐esz
wiΩc byµ pewien, ┐e je╢li jest DOS, to musi byµ
i BASIC.
Podobnie rzecz ma siΩ z C/C++. Je╢li jest na
komputerze system
UNIX (za wyj▒tkiem najubo┐szych wersji systemu
XENIX), masz tam
do dyspozycji kompilator C/C++, za to BASICA ani
Pascala prawie
na pewno tam nie ma. Podobnie coraz popularniejszy
OS/2
wyposa┐ony jest w kompilator (ca│kiem niez│y) C++
i dodatkowo
jeszcze w pewne gotowe-firmowe biblioteki.
Grzech drugi:
* JΩzyk C/C++ powsta│ jeszcze zanim wymy╢lono PC,
DOS, GUI
(Graficzny Interfejs U┐ytkownika), Windows i inne
tym podobne.
Dwa najwa┐niejsze skutki praktyczne:
I. W za│o┐eniach tw≤rc≤w jΩzyk C++ mia│ byµ
szybki (i jest) i
zajmowaµ ma│o miejsca w pamiΩci (bo ≤wczesne
komputery mia│y jej
bardzo ma│o!). Zawiera wiΩc r≤┐ne, niezrozumia│e
dla nas z
dzisiejszego punktu widzenia skr≤ty. Np. to co w
Pascalu czy
Basicu wygl▒da zrozumiale:
i:=i+1; (Pascal)
10 I=I+1 lub inaczej NEXT I (Basic)
to w jΩzyku C++ wygl▒da dziwacznie:
i++; albo jeszcze dziwniej ++i;
Tym niemniej zwr≤µ uwagΩ, ┐e w Pascalu zajmuje
to 7 znak≤w, w
Basicu - 8 znak≤w (spacja to te┐ znak!), a w C++
tylko 4.
Inny przyk│ad:
X=X+5 (Basic, 5 znak≤w),
X:=X+5 (Pascal, 6 znak≤w),
X+=5 (C++, tylko 4 znaki).
Z takiej w│a╢nie filozofii wynika i sama nazwa -
najkr≤tsza z
mo┐liwych. Je╢li bowiem i++ mia│o znaczyµ mniej
wiΩcej tyle samo
co NEXT I (nastΩpne I) to C++ znaczy mniej wiΩcej
tyle samo co
"NAST╩PNA WERSJA C".
II. Nie ma nic za darmo. W jΩzyku C/C++, podobnie
jak w
samochodzie wy╢cigowym formu│y I, za szybko╢µ i
skuteczno╢µ
p│aci siΩ komfortem. Konstrukcje stosowane w jΩzyku
C/C++ s▒
maksymalnie dostosowane do "wygody"
komputera. Pozwala to na
uzyskiwanie niezwykle szybkich
"maszynowo-zorientowanych" kod≤w
wykonywalnych programu, ale od programisty wymaga
przyzwyczajenia siΩ do
"komputerowo-zorientowanego sposobu
my╢lenia".
Grzech Trzeci (i chyba najciΩ┐szy):
* Jest najlepszy. Ostro┐niej - jest najchΩtniej
stosowanym
narzΩdziem profesjonalnych programist≤w.
Ma oczywi╢cie konkurent≤w. Visual Basic (do ma│ych
aplikacji
okienkowych), Turbo Pascal (do nauki podstaw -
element≤w
programowania sekwencyjnego,
proceduralno-strukturalnego),
QuickBasic (programowanie strukturalne w ╢rodowisku
DOS),
Fortran 90, ADA, SmallTalk, itp, itd.
Sam wielki Peter Norton przyznaje, ┐e pocz▒tkowe
wersje swojego
s│ynnego pakietu Norton Utilities pisa│ w Pascalu,
ale dopiero
przesiadka na C/C++ pozwoli│a mu doprowadziµ NU do
dzisiejszej
doskona│o╢ci. Jakie s▒ programy Petera Nortona -
ka┐dy widzi...
Zapewne masz na swoim komputerze kilka r≤┐nych
aplikacji (np.
TAG, QR-Tekst, Word, itp.) - je╢li zajrzysz do nich
do ╢rodka
(View), mo┐esz sam przekonaµ siΩ, ┐e wiΩkszo╢µ
z nich zosta│a
napisana w│a╢nie w C++ (Kompilatory C++
pozostawiaj▒ w kodzie
wynikowym .EXE swoj▒ wizyt≤wkΩ zwykle czyteln▒
przy pomocy
przegl▒darki; przekonasz siΩ o tym tak┐e zagl▒daj▒c
przez [View]
do w│asnych program≤w); stosowane narzΩdzia mo┐esz
rozpoznaµ
tak┐e po obecno╢ci dynamicznych bibliotek - np.
BWCC.DLL -
biblioteka element≤w steruj▒cych - klawiszy, itp -
Borland
Custom Controls for Windows).
Skutki praktyczne:
Nauczywszy siΩ jΩzyka C/C++ mo┐esz nie baµ siΩ
ani systemu
UNIX/XENIX a ich ╢rodowiska okienkowego - X
Windows, ani OS2,
ani Windows 95 (dotychczasowe testy starych
16-bitowych
aplikacji wykaza│y b. wysoki stopie± kompatibilno╢ci),
ani
stacji roboczych, ani du┐ych komputer≤w klasy
mainframe. JΩzyk
C/C++ dos│u┐y│ siΩ bowiem ogromnej ilo╢ci tzw.
implementacji
czyli swoich odmian, przeznaczonych dla r≤┐nych
komputer≤w i dla
r≤┐nych system≤w operacyjnych. Windows NT i
Windows 95 r≤wnie┐
zosta│y napisane w C++.
Czytaj▒c prasΩ (np. Computer World, PC-Kurier i
in.) zwr≤µ
uwagΩ, ┐e najwiΩcej ofert pracy jest w│a╢nie
dla programist≤w
pos│uguj▒cych siΩ C++ (i tak zapewne bΩdzie
jeszcze przez kilka
lat, p≤ki nie wymy╢l▒ czego╢ lepszego - np.
jakiego╢ C+++).
Z Grzechu Trzeciego (choµ nie tylko) wynika tak┐e
po╢rednio
Grzech Czwarty.
JΩzyka C++ Grzech Czwarty - ANSI C, C++, czy Turbo
C++, Visual
C++, czyli ma│a wie┐a BABEL.
Nie jestem pewien, czy "wie┐a BABEL" jest
okre╢leniem
trafniejszym ni┐ "kamie± filozoficzny",
b▒d╝ "perpetuum mobile".
To co w ci▒gu ostatnich lat sta│o siΩ z jΩzykiem
C++ ma co╢
wsp≤lnego z ka┐dym z tych utopijnych symboli. A w
du┐ym
uproszczeniu by│o to tak.
Podobnie, jak mechanikom od zarania dziej≤w marzy│o
siΩ
perpetuum mobile, tak informatykom zawsze marzy│o
siΩ stworzenie
jednego SUPER-UNIWERSALNEGO jΩzyka programowania.
Takiego, kt≤ry
by│by zupe│nie niezale┐ny od sprzΩtu tzn., aby
program napisany
w takim jΩzyku m≤g│ byµ przeniesiony BEZ »ADNYCH
ZMIAN na
dowolny komputer I DZIAúAú. Do takiej roli
pretendowa│y kolejno
FORTRAN, Algol a potem przysz│a pora na C/C++.
Gdyby informatycy
nie okazali siΩ zbyt zach│anni, mo┐e co╢ by z
tego wysz│o. Ale,
jak to w ┐yciu, programi╢ci (podobnie jak ┐ona
rybaka z bajki "O
rybaku i z│otej rybce") chcieli wszystkiego
naraz:
* ┐eby program da│ siΩ przenie╢µ na komputer
innego typu i
dzia│a│,
* ┐eby dzia│a│ szybko i optymalnie wykorzystywa│
sprzΩt,
* ┐eby umia│ wszystko, co w informatyce tylko wymy╢lono
(tj. i
grafika, i obiekty, i obs│uga peryferii i...).
I sta│o siΩ. W pomy╢lanym jako uniwersalny jΩzyku
zaczΩ│y
powstawaµ odmiany, dialekty, mutacje, wersje itp.
itd.
Je╢li C++ nie jest Twoim pierwszym jΩzykiem, z
pewno╢ci▒
zauwa┐y│e╢ Czytelniku, ┐e pomiΩdzy GW Basic a
Quick Basic s▒
pewne drobne r≤┐nice. Podobnie Turbo Pascal 7.0
trochΩ r≤┐ni siΩ
od Turbo Pascala 5.0. Mimo to przyk│ad poni┐ej
pewnie CiΩ trochΩ
zaskoczy. Dla zilustrowania skali problemu
przedstawiam poni┐ej
dwie wersje TEGO SAMEGO PROGRAMU napisanego w dwu r≤┐nych
wersjach TEGO SAMEGO J╩ZYKA C++. . Obydwa programy
robi▒
dok│adnie to samo. Maj▒ za zadanie wypisaµ na
ekranie napis
"Hello World" (czyli "Cze╢µ ╢wiecie!").
Program (1)
main()
{
printf("Hello World\n");
}
Program (2)
#include <windows.h>
#include <iostream.h>
LPSTR p = "Hello World\n";
main(void)
{
cout << "Hello World" << endl;
MessageBox(0, p, "Aplikacja dla Windows",
MB_OK);
return (0);
}
C≤┐ za uderzaj▒ce podobie±stwo, prawda? Ale ┐arty
na bok. Je╢li
zaistnieje jaki╢ problem, zawsze mamy co najmniej
trzy wyj╢cia.
Mo┐emy:
1. Udawaµ, ┐e go nie ma.
Tak postΩpuje wielu autor≤w podrΩcznik≤w na
temat C/C++.
2. Krzyczeµ, ┐e nam siΩ to nie podoba.
Mamy pe│ne prawo obraziµ siΩ i wr≤ciµ do Basica
lub Pascala.
3. Spr≤bowaµ poruszaµ siΩ w tym g▒szczu.
Wyj╢cie trzecie ma jedn▒ wadΩ - jest
najtrudniejsze, ale i
efekty takiego wyboru s▒ najbardziej obiecuj▒ce.
Je╢li chcesz zaryzykowaµ i wybraµ wyj╢cie
trzecie, spr≤bujmy
zrobiµ pierwszy krok w tej "d┐ungli".
Wyja╢nijmy kilka nazw,
pojΩµ i zasad gry obowi▒zuj▒cych w tym obszarze.
JΩzyki programowania pos│uguj▒ siΩ pewnymi
specyficznymi grupami
s│≤w i symboli. S▒ to m. in.:
* s│owa kluczowe
(tu pomiΩdzy wersjami C++ rozbie┐no╢ci s▒
niewielkie),
* operatory (po prostu znaki operacji - np. +),
(tu zgodno╢µ jest niemal 100 %-owa)
* dyrektywy
(polecenia dla kompilatora JAK tworzyµ program
wynikowy;
tu ju┐ jest gorzej, szczeg≤lnie dyrektywa #pragma
w ka┐dej
wersji kompilatora C++ jest inna)
* nazwy funkcji
(z tym gorzej, bo ka┐dy producent ma w│asne
funkcje i w│asne
upodobania)
* nazwy sta│ych
(gdyby chodzi│o tylko o PI i e - wszystko by│oby
proste)
* nazy zasob≤w (FILE, PRN, CONSOLE, SCREEN itp. itd)
(tu jest lepiej, ale te┐ rozbie┐no╢ci s▒ zauwa┐alne)
Autor programu mo┐e jeszcze nadawaµ zmiennym
(liczbom, zmiennym
napisom, obiektom, itp.) w│asne nazwy, wiΩc czasem
nawet
wytrawny programista ma k│opoty ze zrozumieniem
tekstu
┐r≤d│owego programu...
W jΩzyku C a nastΩpnie C++ przyjΩto pewne maniery
nadawania nazw
- identyfikator≤w u│atwiaj▒ce rozpoznawanie tych
grup s│≤w:
* nazwa() - funkcja
* s│owa kluczowe i nazwy zmiennych - ma│ymi
literami
* STAúE - nazwy sta│ych najczΩ╢ciej du┐ymi
literami
* long/LONG - typy danych podstawowe/predefiniowane
dla Windows
_NAZWA - nazwy sta│ych predefiniowanych przez
producenta
__nazwa lub __nazwa__ - identyfikatory
charakterystyczne dla
danej wersji kompilatora
itp., kt≤rych to zwyczaj≤w i ja postaram siΩ
przestrzegaµ w
tek╢cie ksi▒┐ki.
Ameryka±ski Instytut Standard≤w ANSI od lat
prowadzi walkΩ z
wiatrakami. Stoi na stra┐y jednolitego standardu jΩzyka,
kt≤ry
nazywa siΩ standardem ANSI C i ANSI C++. Wielcy
producenci od
czasu do czasu organizuj▒ konferencje i spotkania
gdzie╢ w
ciep│ych krajach i uzgadniaj▒ niekt≤re standardy
- czyli wsp≤lne
dla nich i zalecane dla innych normy, ale niekt≤rzy
bywaj▒
zazdro╢ni o w│asne tajemnice i nie publikuj▒
wszystkich
informacji o swoich produktach. Dlatego wszelkie
"s│uszne i
uniwersalne" standardy typu ODBC, Latin 2,
Mazovia, LIM, OLE,
DDE, BGI, itp., itd. maj▒ niestety do dzi╢
ograniczony zakres
stosowalno╢ci a wszelkie zapewnienia producent≤w o
ca│kowitej
zgodno╢ci ich produktu z... (tu wpisaµ
odpowiednie) nale┐y
niestety nadal traktowaµ z pewn▒ rezerw▒.
W niniejszej ksi▒┐ce zajmiemy siΩ kompilatorem
Borland C++ w
jego wersjach 3.0 do 4.5, jest to bowiem
najpopularniejszy w
Polsce kompilator jΩzyka C/C++ przeznaczony dla
komputer≤w IBM
PC. Nie bez znaczenia dla tej decyzji by│ tak┐e
fakt, ┐e Borland
C++ i Turbo C++ bez konflikt≤w wsp≤│pracuje z:
* Turbo Pascal i Borland Pascal;
* Assemblerami: TASM, BASM i MASM;
* Turbo Debuggerem i Turbo Profilerem;
* bibliotekami Turbo Vision, ObjectVision, Object
Windows
Library, Database Tools, itp.
* pakietami innych producent≤w - np. Win/Sys
Library, Object
Professional, CA-Visual Objects, Clipper, itp.
i in. produktami "ze stajni" Borlanda
popularnymi w╢r≤d
programist≤w. Programy TASM/BASM, Debugger,
Profiler a tak┐e
niekt≤re biblioteki (np. Object Windows Library,
Turbo Vision
Library, itp. wchodz▒ w sk│ad pakiet≤w
instalacyjnych BORLANDA,
ale UWAGA - niestety nie wszystkich). Borland C++ 4+
pozwala,
dziΩki obecno╢ci specjalnych klas VBX w bibliotece
klas i
obiekt≤w Object Windows Library na wykorzystanie
program≤w i
zasob≤w tworzonych w ╢rodowisku Visual Basic'a.
Podobnie
kompilatory C++ firmy Microsoft (szczeg≤lnie Visual
C++)
bezkonfliktowo wsp≤│pracuj▒ z zasobami innych
aplikacji - np.
Access, Excel, itp..
Warto tu zwr≤ciµ uwagΩ na jeszcze jeden czynnik,
kt≤ry mo┐e staµ
siΩ Twoim, Czytelniku atutem. Je╢li znasz ju┐
kompilatory Turbo
Pascal, b▒d╝ Borland Pascal, zwr≤µ uwagΩ, ┐e
wiele funkcji
zaimplementowanych w Turbo Pascal 6.0. czy 7.0 ma
swoje
odpowiedniki w BORLAND C++ i Turbo C++. Odpowiedniki
te zwykle
dzia│aj▒ dok│adnie tak samo, a r≤┐ni▒ siΩ
najczΩ╢ciej
nieznacznie pisowni▒ nazwy funkcji. Wynika to z b│ogos│awie±stwa
"lenistwa" (ponoµ homo sapiens najwiΩcej
wynalazk≤w pope│nia│
w│a╢nie ze strachu, b▒d╝ z lenistwa...). Firmie
Borland "nie
chcia│o siΩ" wymy╢laµ od nowa tego, co ju┐
sprawdzi│o siΩ
wcze╢niej i do czego przyzwyczaili siΩ klienci! I
odwrotnie.
Poznawszy Borland/Turbo C++ z │atwo╢ci▒ zauwa┐ysz
te same
funkcje w Borland/Turbo Pascalu.
[!!!]UWAGA!
________________________________________________________________
O Kompilatorach BORLAND C++ 4 i 4.5 napiszΩ nieco p≤┐niej,
poniewa┐ s▒ bardziej skomplikowane i wymagaj▒
trochΩ wiΩkszej
znajomo╢ci zasad tworzenia i uruchamiania program≤w
(projekty).
To prawda, ┐e zawieraj▒ narzΩdzia klasy CASE do
automatycznego
generowania aplikacji i jeszcze kilka innych u│atwie±,
ale miej
trochΩ cierpliwo╢ci...
________________________________________________________________
[???] C.A.S.E.
________________________________________________________________
CASE - Computer Aided Software Engineering - in┐ynieria
programowa wspomagana komputerowo. Najnowsze
kompilatory C++
wyposa┐one s▒ w narzΩdzia nowej generacji. W r≤┐nych
wersjach
nazywaj▒ siΩ one AppExpert, ClassExpert, AppWizard,
VBX
Generator, itp. itd, kt≤re pozwalaj▒ w du┐ym
stopniu
zautomatyzowaµ proces tworzenia aplikacji. Nie mo┐na
jednak
zaczynaµ kursu pilota┐u od programowania
autopilota - a kursu
programowania od automatycznych generator≤w
aplikacji dla
Windows...
________________________________________________________________
Zaczynamy zatem od rzeczy najprostszych, maj▒c
jedynie tΩ
krzepi▒c▒ ╢wiadomo╢µ, ┐e gdy ju┐ przyst▒pimy
do pisania
aplikacji konkurencyjnej wobec Worda, QR-Tekst'a,
czy Power
Point'a - mo┐e nas wspomagaµ system wspomaganina
CASE do│▒czony
do najnowszych wersji BORLAND C++ 4 i 4.5. Je╢li
mamy ju┐ gotowe
aplikacje w Visual Basic'u - Borland C++ 4+ pozwoli
nam
skorzystaµ z element≤w tych program≤w (ale
pracowaµ te aplikacje
po przetransponowaniu do C++ bΩd▒ od kilku do
kilkuset razy
szybciej).
LEKCJA
2
LEKCJA 2. Jak korzystaµ z
kompilatora BORLAND C++?
___________________________________________________________
W trakcie tej lekcji poznasz sposoby rozwi▒zania
typowych
problem≤w wystΩpuj▒cych przy uruchomieniu
kompilatora Borland
C++.
________________________________________________________________
UWAGA:
Z A N I M rozpoczniesz pracΩ z dyskietk▒ do│▒czon▒
do niniejszej
ksi▒┐ki radzimy Ci SPORZíDZI╞ ZAPASOWí KOPI╩
DYSKIETKI przy
pomocy rozkazu DISKCOPY, np.
DISKCOPY A: A: lub DISKCOPY B: B:
Unikniesz dziΩki temu byµ mo┐e wielu k│opot≤w,
kt≤rych mo┐e Ci
narobiµ np. przypadkowy wirus lub kropelka kawy.
INSTALACJA DYSKIETKI.
Na dyskietce do│▒czonej do niniejszej ksi▒┐ki,
kt≤r▒ najlepiej
zainstalowaµ na dysku sta│ym (z dyskiem pracuje siΩ
znacznie
szybciej, a pr≤cz tego jest tam znacznie wiΩcej
miejsca), w jej
katalogu g│≤wnym znajduje siΩ programik
instalacyjny o nazwie:
INSTALUJ.BAT
napisany jako kr≤tki plik wsadowy w jΩzyku BPL (Batch
Programming Language - jΩzyk programowania
wsadowego). Aby
zainstalowaµ programy z dyskietki na w│asnym dysku
powiniene╢:
* sprawdziµ, czy na dysku (C:, D:, H: lub innym)
jest co
najmniej 2 MB wolnego miejsca,
* w│o┐yµ dyskietkΩ do napΩdu i wydaµ rozkaz:
<-- patrz tekst ksiazki
* po naci╢niΩciu [Entera] rozpocznie siΩ
nstalacja. O
zako±czeniu instalacji zostaniesz poinformowany
napisem na
ekranie.
UWAGI:
* Je╢li korzystasz z napΩdu dyskietek B:, lub
chcesz
zainstalowaµ programy z dyskietki na innym dysku ni┐
C: -
wystarczy napisaµ rozkaz - np. B:\INSTALUJ AMC48 D:
i nacisn▒µ
[Enter].
* Program instalacyjny zadzia│a poprawnie tylko
wtedy, gdy masz
system operacyjny DOS 6+ (6.0 lub nowszy) na dysku
C: w katalogu
C:\DOS.
* Mo┐esz zainstalowaµ programy z dyskietki z
poziomu ╢rodowiska
Windows. W oknie Mened┐era Program≤w:
- rozwi± menu Plik
- wybierz rozkaz Uruchom...
- do okienka wpisz <-- patrz tekst ksi▒┐ki
Program instalacyjny utworzy na wskazanym dysku
katalog
\C-BELFER
i tam skopiuje ca│▒ zawarto╢µ dyskietki oraz
dokona dekompresji
(rozpakowania) plik≤w. Je╢li chcesz skopiwaµ
zawarto╢µ dyskietki
do w│asnego katalogu roboczego, wystarczy
"wskazaµ" programowi
instalacyjnemu w│a╢ciwy adres:
<-- patrz tekst ksi▒┐ki
Zostanie utworzony katalog: F:\USERS\ADAM\TEKSTY\C-BELFER
UWAGA:
Pr≤cz przyk│ad≤w opisanych w ksi▒┐ce dyskietka
zawiera dodatkowo
kilka przyk│adowych aplikacji, na kt≤re zabrak│o
miejsca, miΩdzy
innymi:
WYBORY95 - prosta gra zrΩczno╢ciowa (dla Windows)
FOR*.CPP - przyk│ady zastosowania pΩtli
BGI*.CPP - przyk│ady grafiki DOS/BGI
oraz programik u│atwiaj▒cy kurs - MEDYT.EXE wyposa┐ony
w
dodatkowe pliki tekstowe.
I. URUCHOMIENIE KOMPILATORA.
Aby uruchomiµ kompilator, powiniene╢ w linii
rozkazu po
DOS'owskim znaku zachΩty (zwykle C> lub C:\>)
wydaµ polecenie:
BC
i nacisn▒µ [Enter].
(UWAGA: w r≤┐nych wersjach kompilator≤w mo┐e to
byµ np.:
BC, TC, a dla Windows np. BCW - sprawd╝ swoj▒
wersjΩ)
Je╢li Tw≤j komputer odpowiedzia│ na to:
Bad command or file name
* na Twoim komputerze nie ma kompilatora BORLAND
C++:
ROZWIíZANIE: Zainstaluj C++.
* w pliku AUTOEXEC.BAT nie ma ╢cie┐ki dostΩpu do
katalogu, w
kt≤rym zainstalowany jest kompilator C++.
ROZWIíZANIE:
1. Zmieniµ bie┐▒cy katalog (i ewentualnie dysk)
na odpowiedni,
np.:
D:[Enter]
CD D:\BORLANDC\BIN[Enter]. //UWAGA: Podkatalog \BIN
Albo
2. Ustawiµ ╢cie┐kΩ dostΩpu przy pomocy rozkazu
np:
PATH C:\BORLANDC\BIN
(lub D:\TURBOC\BIN stosownie do rozmieszczenia plik≤w
na Twoim
komputerze; najlepiej zasiΩgnij rady lokalnego
eksperta).
[???] NIE CHCE USTAWI╞ ªCIE»KI ?
________________________________________________________________
Tak czasem siΩ zdarza - zwykle wtedy, gdy pracujesz
w DOS-ie z
programem Norton Commander. Musisz pozbyµ siΩ
"na chwilΩ"
programu NC. Naci╢nij [F10] - Quit i potwierd╝
przez [Y] lub
[Enter]. Po ustawieniu ╢cie┐ek mo┐esz powt≤rnie
uruchomiµ NC.
________________________________________________________________
Albo
3. Dodaµ do pliku AUTOEXEC.BAT dodatkow▒ ╢cie┐kΩ.
Jest to
wyj╢cie najlepsze. Na ko±cu linii ustawiaj▒cej ╢cie┐ki
- np.:
PATH C:\; C:\DOS; C:\NC; C:\WINDOWS
dodaj ╢cie┐kΩ do kompilatora C++, np.:
PATH C:\; C:\DOS; C:\NC; D:\BORLANDC\BIN;
Za│atwi to problem "raz na zawsze". Po
uruchomieniu komputera
╢cie┐ka bΩdzie odt▒d zawsze ustawiana
automatycznie.
Poniewa┐ kompilator C++ wymaga w trakcie pracy
otwierania i
│▒czenia wielu plik≤w, r≤┐ne wersje (program
instalacyjny
INSTALL.EXE podaje tΩ informacjΩ w okienku pod
koniec
instalacji) wymagaj▒ dodania do pliku
konfiguracyjnego
CONFIG.SYS wiersza:
FILES = 20
(dla r≤┐nych wersji warto╢µ ta wacha siΩ w
granicach od 20 do
50). Najbezpieczniej, je╢li nie masz pewno╢ci dodaµ
50. Je╢li
wybra│e╢ wariant trzeci i ewentualnie zmodyfikowa│e╢
sw≤j
CONFIG.SYS, wykonaj prze│adowanie systemu [Ctrl]-[Alt]-[Del].
Teraz mo┐esz wydaµ rozkaz
BC[Enter]
Mam nadziejΩ, ┐e tym razem siΩ uda│o i oto jeste╢my
w IDE
Borland C++. Je╢li nie jeste╢ jedynym u┐ytkownikiem,
na ekranie
rozwinie siΩ ca│a kaskada okienek roboczych.
Skonsultuj z
w│a╢cicielem, kt≤re z nich mo┐na pozamykaµ a kt≤re
pliki mo┐na
skasowaµ lub przenie╢µ. PamiΩtaj "primo non
nocere" - przede
wszystkim nie szkodziµ!
€[S!] IDE = Integrated Development Environment,
IDE, czyli Zintegrowane ªrodowisko Uruchomieniowe.
Bardziej
prozaicznie - po│▒czony EDYTOR i KOMPILATOR.
Zapewne znasz ju┐
co╢ podobnego z Pascala lub Quick Basica. Od dzi╢
bΩdzie to
Twoje ╢rodowisko pracy, w kt≤rym bΩdziesz pisaµ,
uruchamiaµ i
modyfikowaµ swoje programy.
€[???] DISK FULL!
________________________________________________________________
Co robiµ, je╢li przy pr≤bie uruchomienia
kompilator C++
odpowiedzia│ Ci:
Disk full! Not enough swap space.
Program BC.EXE (TC.EXE) jest bardzo d│ugi. Je╢li
wydasz rozkaz
(wariant 1: Turbo C++ 1.0, ni┐ej BORLAND C++ 3.1):
DIR TC.EXE
uzyskasz odpowied╝, jak poni┐ej:
C:>DIR TC.EXE
Directory of D:\TC\BIN
TC EXE 876480 05-04-90 1:00a
1 file(s) 876480 bytes
17658880 bytes free
C:>DIR BC.EXE
Directory of C:\BORLANDC\BIN
BC EXE 1410992 06-10-92 3:10a
1 file(s) 1410992 bytes
18926976 bytes free
Poniewa┐ plik kompilatora nie mie╢ci siΩ w 640 K
pamiΩci musi
dokonywaµ tzw. SWAPOWANIA i tworzy na dysku
dodatkowy plik
tymczasowy (ang. swap file). Na dysku roboczym
powinno
pozostawaµ najmniej 500 KB wolnego miejsca. Je╢li
mo┐esz,
pozostaw na tym dysku wolne nie mniej ni┐ 1 MB. U│atwi
to i
przyspieszy pracΩ.
________________________________________________________________
Tworzony tymczasowo plik roboczy wygl▒da tak:
Volume in drive D has no label
Directory of D:\SIERRA
TC000A SWP 262144 12-13-94 5:42p (13-XII to dzi╢!)
1 file(s) 262144 bytes
11696320 bytes free
€[!!!] UWAGA:
Kompilator C++ bΩdzie pr≤bowa│ tworzyµ plik
tymczasowy zawsze w
bie┐▒cym katalogu, tzn. tym, z kt≤rego wyda│e╢
rozkaz
TC lub BC.
II. WNIOSKI PRAKTYCZNE.
* Lepiej nie uruchamiaµ C++ "siedz▒c" na
dyskietce, poniewa┐
mo┐e mu tam zabrakn▒µ miejsca na plik tymczasowy.
* Dla u┐ytkownik≤w Novella: Uruchamiajcie
kompilator C++ tylko
we w│asnych katalogach - do innych mo┐ecie nie mieµ
praw zapisu.
Plik .SWP jest tworzony tylko podczas sesji z
kompilatorem C++ i
usuwany natychmiast po jej zako±czeniu. Mo┐esz go
zobaczyµ tylko
wychodz▒c "na chwilΩ" do systemu DOS
przy pomocy rozkazu DOS
Shell (menu File).
€[S!] SWAP - Zamiana.
________________________________________________________________
Je╢li wszystkie dane, potrzebne do pracy programu
nie mieszcz▒
siΩ jednocze╢nie w pamiΩci operacyjnej komputera,
to program -
"w│a╢ciciel", (lub system operacyjny -
DOS, OS2, Windows) mo┐e
dokonaµ tzw. SWAPOWANIA. Polega to na usuniΩciu z
pamiΩci
operacyjnej i zapisaniu na dysk zbΩdnej w tym
momencie czΩ╢ci
danych, a na ich miejsce wpisaniu odczytanej z dysku
innej
czΩ╢ci danych, zwykle takich, kt≤re s▒
programowi pilnie
potrzebne do pracy w│a╢nie teraz.
________________________________________________________________
€[Z] - Propozycje zada± do samodzielnego
wykonania.
----------------------------------------------------------------
1.1 Sprawd╝ ile bajt≤w ma plik .EXE w tej wersji
kompilatora
C++, kt≤rej u┐ywasz.
1.2. Pos│uguj▒c siΩ rozkazem DOS Shell z menu
File sprawd╝ gdzie
znajduje siΩ i jakiej jest wielko╢ci plik
tymczasowy .SWP. Ile
masz wolnego miejsca na dysku ?
________________________________________________________________
EOF
AUTOR
NIEZNANY :(
|
|
|
|
|
 |
|