Pascal fordító?
Le lehet valahonnan tölteni egy Pascal fordítót? Gondolom úgy működik, hogy az args-be kerül a fájlnév illetve a command line agrumentek, és van legalább egy fájl kimenete, egy exe fájl, maga a fordított program. Bonyolultabb ennél? Tudom, van mindenféle linker fájl meg a többi, object fájlok is, azt ő kezeli? Vagy hogy működik ez egyáltalán? Például a FreePascalnál az egyszerűség kedvéért. Amikor Ctrl+F9-et nyomok, mi történik utána? És ha kidob exitcode-dal, kapok egy hexa számot, abban én úgy gondolom benne van a sor, karakter és egy azonosító legalább, vagy hogy van ez?
Köszönöm előre is a válaszokat, egy kicsit lehet, sok a kérdés, de nekem nem tiszta ez az egész.
"nekem nem tiszta ez az egész"
Nekem se. Ha már egyszer ismered a Free Pascalt, miért nem annak a fordítójával kísérletezel? Ha ki se próbáltad, akkor ezt honnan veszed, hogy csak egy nyers hexa-számot dob ki? Ne az IDE-ben nyomkodd a Ctrl+F9-et, hanem használd parancssorból, akkor többet tapasztalsz:
fpc program.pas
Tessék, itt egy rontott sor hibaüzenete. Egyértelműen, embernyelven megadja a hiba helyét és típusát:
Compiling valami.pas
tombok_01_teszt.pas(48,14) Error: Identifier not found "textcilor"
tombok_01_teszt.pas(81) Fatal: There were 1 errors compiling module, stopping
Fatal: Compilation aborted
'És ha kidob exitcode-dal' akkor elolvasod ezt:
1: Invalid function number.
2: File not found.
3: Path not found.
4: Too many open files.
5: File access denied.
6: Invalid file handle.
12: Invalid file access code.
15: Invalid drive number.
16: Cannot remove current directory.
17: Cannot rename across drives
100: Disk read error.
101: Disk write error.
102: File not assigned.
103: File not open.
104: File not open for input.
105: File not open for output.
106: Invalid numeric format.
150: Disk is write-protected.
151: Bad drive request struct length.
152: Drive not ready.
154: CRC error in data.
156: Disk seek error.
157: Unknown media type.
158: Sector not found.
159: Printer out of paper.
160: Device write fault.
161: Device read fault.
162: Hardware failure.
200: Division by zero.
201: Range check error.
202: Stack overflow error.
203: Heap overflow error.
204: Invalid pointer operation
205: Floating point overflow.
206: Floating point underflow.
207: Invalid floating point operation.
210: Object not initialized.
211: Call to abstract method.
212: Stream registration error.
213: Collection index out of range.
214: Collection overflow error.
216: General protection fault.
217: Unhandled exception occurred.
227: Assertion failed error.
"benne van a sor, karakter és egy azonosító legalább", ezt nem sikerült elolvasni? Azért ne nézz olyan bénának, nem 2 éve programozom, hogy ezeket ne tudtam volna megnézni, nem egy exitcode-ot kaptam. És mint írtam -gl paraméterrel kiír valami ilyesmit:
Runtime error 255 at 0x0040BDE5
0x0040BDE5 GENERATEERROR255, line 6 of testline.pp
0x0040BDF0 GENERATEANERROR, line 13 of testline.pp
0x0040BE0C main, line 17 of testline.pp
0x0040B7B1
Szerintem már sokkal olvashatóbb, mint hogy általánosságban valahol a programodban van egy memóriatúlcsordulás azt csá. Itt nyilván tudni fogod a sorról, hogy milyen hiba lehet benne, de ha nem tudod, akkor ugye ott az érték is. Most már sikerült megértened?
Nem teljeskörben a fordítóról beszélek, a debuggerről is.
Runtime error 255 at 0x0040BDE5
itt kapásból kapsz egy Exit code-t (255) és egy memória címet, ahol történt a hiba. Nem mellesleg visszább kellene venned az arcodból cseppet. A hibaüzenet további részében is a hexadecimális értékek címeket jelölnek.
'Azért ne nézz olyan bénának, nem 2 éve programozom, hogy ezeket ne tudtam volna megnézni, nem egy exitcode-ot kaptam.' Ha nem két éve programozol akkor nem kevernéd a neveket, elnevezéseket. Mivel állandóan 'exitcode'-t emlegettél és nem Run Time Error-t... Pici eltérés van a kettő közt. 'args-be' - erről gyanítom, hogy valami .NET-en tanult 'programozó' vagy. Ezt felénk paraméternek hívják. Szebb is érthetőbb is.
Off:
Elárulom én sem 2 éve programozok - és nem is ilyen 'dedós' szinten - és azok sem akitől válaszokat kaptál.
Felbosszantottam magam !
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!