A leggyakoribb - nbsp; Hiba kiadott - nbsp; gcc fordító - kis
Ez az oldal fordítás „CSM217: C Computer tudósok közös GCC hibák” staff.um.edu.mt/csta1//courses/lectures/csa2060.
(Ez nem kerülte el a lemezen)
A leggyakoribb hibák a fordító által generált gcc
Az alábbiakban egy listát a leggyakrabban előforduló hibák a fordítás során, és gcc fordító figyelmeztetések, valamint magyarázatot azok okait. Felhívjuk a figyelmet, hogy ez az anyag alkalmazható UNIX-szerű operációs rendszer.
Zárójelben a fordítás a rendszer üzeneteket.
hibalista
Leírása a gyakori hibákat / fordító figyelmeztetések
„Variable” be nem jelentett (első használat ez a funkció) [ „változó” határozzuk meg (az első használata ezt a funkciót)]
ismeretlen escape-szekvencia [ismeretlen szabályozó szekvencia]
Nincs ilyen fájl vagy könyvtár [Nincs ilyen fájl vagy könyvtár]
ld: elf error: file prog [ld: méret hiba elf: prog file]
értelmezési hiba előtt „húr” [értelmezési hiba előtt „string”]
Nem definiált szimbólum [Undefined szimbólum]
karakter konstans túl hosszú [túl hosszú karakter konstans]
elhaladó arg n „funkció” gyártmányú
adattípus más adattípus nélkül öntött [n továbbított érv funkciók „funkció” teremt
típusú adatokat egy másik adattípus nélkül működtető]
befejezetlen karakterlánc vagy karakter konstans [ágban vagy karakter konstans]
Elemzési hiba a bemenet végét [Elemzési hiba a bemenet végét]
Leírása a gyakori hibákat / fordító figyelmeztetések
A C fordítóprogram hibát általában kritikus, vagyis a C fordító nem tudja lefordítani a kódot. Ugyanakkor figyelmeztet - ez csak egy figyelmeztetés: a fordító azonosított potenciális problémát, de mégis képes volt létrehozni az objektumot kódot. A figyelmeztetések nem hagyható figyelmen kívül, általában azt jelenti, hogy valami baj van a programot, és valószínűleg ez fog viselkedni nem egészen úgy, ahogy elvárják.
Mielőtt a hibaüzenetek és figyelmeztetések jelennek meg a fájl nevét és funkcióját, amelyben a hiba történt. Például,
prog.c: A funkció „fő”:
[Prog.c: A 'fő' funkció:]
Ez azt jelenti, hogy hiba történt a szoftver összeállítása prog.c fájlt, vagy inkább a fő funkciója. Az alábbi sorokat jeleníti meg a hibákat / figyelmeztetések a fájl adatait és funkcióit. Ha a kód számos funkciót és / vagy több fájl, minden fájl / függvény, amely hibák elkülönítetten kell kimutatni.
String hibáját / figyelmeztető üzenetek, amelyek követik a fájl nevét / funkciók közé tartozik:
- fájlnév / funkció, amely a hibát;
- A sorszám a forrás fájlban, ha hiba történt;
- line "figyelmeztetés" [ "figyelmeztetés"]. ha az üzenet figyelmeztetés (hiba esetén, ez a sor üres);
- A hiba leírása találkozott.
prog.c: 3: figyelmeztetés: ismeretlen escape szekvencia '\ z'
[Prog.c: 3: Figyelmeztetés: ismeretlen szabályozó szekvencia '\ z']
Ez azt jelenti, hogy probléma van a 3. sorban prog.c. fájl Ez az üzenet - csak egy figyelmeztetés: nincs menekvés sorrendben „\ z”. A programot összeállítani (kivéve, ha vannak más hibák), mivel ez csak egy figyelmeztetés. Azonban valószínűleg a program úgy viselkedik, nem egészen úgy, ahogy elvárják.
„Variable” be nem jelentett (első használat ez a funkció) [ „változó” határozzuk meg (az első használata ezt a funkciót)]
C - gépelt nyelv, amely megköveteli, hogy állapítsa meg változókat használat előtt. Xi is a kis- és nagybetűk nyelv, azaz a var és Var - különböző változók. Vagy elfelejtette, hogy egy változót, vagy egy hiba a helyesírás a nevét.
Ez a hiba - a fordító nem tudja lefordítani kódot. Általában ez az üzenet kíséri szöveg (Mindegyik bejelentett azonosító tűnik csak egyszer minden funkció megjelenik.) [(Csak egy üzenet jelenik meg a funkció azonosítót minden előzetes bejelentés nélkül.)].
Ugyanez nem inicializált változók többször is előfordulhat egy funkció, de a fordító jelentések csak az első eset.
ismeretlen escape szekvencia „\ z” [ismeretlen szabályozó szekvencia]
Szabályozó szekvencia - ez egy szimbólum, amely előtt egy backslash „\”. A jelenléte „\” funkció megváltoztatja a következő karaktert. Például, 'n' - jelképe n, de a '\ n' - annak a jele, az új sor. Néhány karakter, például Z, nincs menekülés szekvenciák. A programot összeállítani (kivéve, ha vannak más hibák), mivel ez csak egy figyelmeztetés. Azonban valószínűleg a program úgy viselkedik, nem egészen úgy, ahogy elvárják.
Nincs ilyen fájl vagy könyvtár [Nincs ilyen fájl vagy könyvtár]
Azt a parancsot adta, hogy összeállít egy fájl nem létezik. Várható, hogy a fájlokat a C forráskód program kiterjesztése .c. Ha a forráskód a proc.c fájlt, használja a fordítási parancs gcc prog.c. Kísérlet, hogy végre gcc prog vezet ez a hiba. Ez a hiba általában üzenet kíséri Nincs bemeneti fájl [Nincs bemeneti fájl].
ld: elf error: file prog [ld: méret hiba elf: prog file]
Jellemzően akkor is megjelenik a következő üzenet.
ismeretlen típusú, nem tudta feldolgozni a manó (3E) könyvtárak
ld: végzetes: Fájlok feldolgozási hibák. Nincs kimenet írt a.out
collect2: ld iránt 1 exit status
[Ismeretlen típus nem lehet feldolgozni a könyvtárat használó elf (3E)
ld: Kritikus: Fájlok feldolgozási hibák. A fájl nem írt semmit a.out
collect2: ld iránt 1 exit status]
Csúnya hibát; Szerencsére ez könnyen fix! A kód egy C program prog fájlban, de mivel nem használja a .c kiterjesztés a fájl gcc nem tudja kitalálni, hogy milyen típusú programkód tartalmaz a megadott fájlt. Hibajavítás egyszerűen átnevezni prog a prog.c.
értelmezési hiba előtt „húr” [értelmezési hiba előtt „string”]
Nem definiált szimbólum [Undefined szimbólum]
Gcc találkozott olyasmi, mint egy függvényhívás, de a funkciója ugyanaz a neve nem létezik. A név a „hiányzó” funkció - az első szó a harmadik sorban a hibaüzenetet (fő).
Minden C programok kell, hogy legyen egy fő funkciója, mert kezd vele a program végrehajtását.
karakter konstans túl hosszú [túl hosszú karakter konstans]
C-ben a húr kell idézőjelek ( „”). Ha az aposztróf jelet ( '), várható, hogy lesznek csak egy karaktert (vagy egy kontroll szekvencia).
figyelmeztetés: halad arg n „funkció” gyártmányú
pointer értéke nélkül öntött [n továbbított argumentum funkciók „funkció” létrehoz egy indexet a teljes nélkül működtető]
Megadjuk függvényt. Várható, hogy a n paraméter egy mutató, de át a funkciót egész szám (int). Módosíthatja az értéket használja a leadott, de te nem. C - a típusos nyelv, ami szükséges, hogy állapítsa meg a változók típusát és adattípusok át a funkciót, mielőtt használja őket. Ez a figyelmeztető hang, ha teljesülnek típus hibás adatok között átadott a funkció és a várt adat funkció (típus továbbított
megadott paraméterek függvényében prototípus). Annak ellenére, hogy a gcc létrehoz egy tárgykód, ezt a figyelmeztetést kell figyelni, mert általában azt jelzi, logikai hiba.
befejezetlen karakterlánc vagy karakter konstans [ágban vagy karakter konstans]
Nem egyezik a száma nyitó és záró idézőjel (szimpla vagy dupla).
Elemzési hiba a bemenet végét [Elemzési hiba a bemenet végét]
Lehet, hogy elvesztette a záró kapcsos zárójel (>), valahol a kódot. Xi nem lehet azt mondani, hogy pontosan hol, így a jó szerencsét a keresés!