Kezdőoldal » Számítástechnika » Programozás » C++: létezik olyan fordító,...

C++: létezik olyan fordító, amely normálisan képes jelezni a forráskódban lévő hibát és a tényleges előfordulási helyen, nem másik hatszáz helyen?

Figyelt kérdés

Többek közt az akadályoz meg hogy megtanuljam a C nyelvet, hogy a fordító nem képes normálisan detektálni a hibát, például lemarad egy ; jel, akkor képes az adott sor előtt hibát jelezni és utána is, végigmegy az egész kódon a hibával és olyan sorokat is problematikusnak talál, amelyekkel semmi probléma nincs.

Ha a ; jel visszakerül a helyére, akkor egyetlen hibaüzenet vagy bármiféle figyelmeztetés nélkül fut a kód.

Pascal fordító normálisan képes megmondani a hibát, sorszámát és nem gördíti végig az egész kódon a hibaüzenetet: azért mert egyetlen ; vagy bármi el lett hagyva, az egész kód még nem rossz...

A nagyon fejlett C miért nem képes erre, esetleg van olyan fordító, amely rendelkezik ezzel a különleges képességgel hogy normálisan sorszám szerint megmondja a hibát és nem kezd el nyavalyogni tökéletes sorok miatt hogy hibásak?



2016. okt. 28. 11:40
1 2 3
 1/21 A kérdező kommentje:

Windows alá milyen fordítót érdemes feltenni, amely képes normálisan jelezni a hibát?

Régen azt hiszem GCC-nél és a DEVCPP-nél is tapasztaltam a hibát.

Fordító elég lenne IDE nélkül, amely eme bonyolult feladattal képes megbirkózni, a Pascal-nak sikerült, reménykedem benne hogy C fordító is van ilyen amely képes erre.

2016. okt. 28. 12:35
 2/21 anonim ***** válasza:
100%

A C vagy C++ sem mindegy, te meg máris kevered..

C++-nál ha lehagysz egy ;-t class után(tipikus hiba ha nem segít az IDE..), szerintem a GCC-ben erre és ehhez hasonlókra konkrétan külön vagy "értelmes hibaüzenet" kapcsoló.


A másik meg az, hogy C-ben mutathatnál ilyen kódot, ami egy ; lehagyásától nem annak a sornak a közvetlen környezetében jelzi a hibát..

2016. okt. 28. 12:59
Hasznos számodra ez a válasz?
 3/21 anonim ***** válasza:
g++ a program neve, csak hogy továbbra se legyen keveredés..
2016. okt. 28. 13:00
Hasznos számodra ez a válasz?
 4/21 anonim ***** válasza:
Az első hibaüzenetet kell elsősorban figyelni.
2016. okt. 28. 13:41
Hasznos számodra ez a válasz?
 5/21 anonim ***** válasza:
100%
Ha a program pontosan meg tudná állapítani hogy pontosan hol van a hiba a kódban, és mi az, akkor nem kellene hibajelzés, kijavítaná magától. A hiba kiváltója azonban nem feltétlenül hiba mindig, csak ellentmondásba kerül a program többi részével. Hogy miért vannak olyan eszközök egy programnyelvben, amik ezt lehetővé teszik? Ha nem így lenne, akkor a programozói eszköztár jóval szegényesebb lenne. Ezért érdemes megtanulni, és pontosan követni a programnyelv szintaktikáját.
2016. okt. 28. 14:11
Hasznos számodra ez a válasz?
 6/21 anonim ***** válasza:
Mindig a legelső hibaüzenetet kell elolvasni és azt javítani.
2016. okt. 28. 14:58
Hasznos számodra ez a válasz?
 7/21 anonim ***** válasza:

"Ha a program pontosan meg tudná állapítani hogy pontosan hol van a hiba a kódban, és mi az, akkor nem kellene hibajelzés, kijavítaná magától."

Sok esetben meg tudja pontosan határozni a fordító, hogy hol és mi a hiba, de nem javítja ki. A programozó dolga megfelelő programot írni, a fordítónak csak hibajelző szerepe van. Eleve a fordító nem tudhatja biztosan, hogy a programozónak mi a szándéka, és lehet, hogy az automatikusan kijavított kód működő programhoz vezet, de nem olyanhoz, ami az elvárásokat kielégíti. Ez esetben a programozónak kéne az amúgy hibás forrásfájlt javítgatnia. Egyszerűbb, ha a fordító csak hibajelző szerepet tölt be, nem hibajavítót.

2016. okt. 28. 18:10
Hasznos számodra ez a válasz?
 8/21 anonim ***** válasza:

Ott fogja jelezni a hibát, ahol először gondot okoz.

Az, hogy nem teszel az egyik sorod végére ;-t, nem jelent az adott sorban hibát, sőt lehet még pár sorig szintén nem, ugyanis az értelmező egy szintaxis fát épít fel és ezt addig teszi amíg tudja.


A fordító PONTOSAN ott jelzi a hibát, ahol az okozza. Attól, hogy mást akartál kifejezni és lehagytad a ;-t ezt ő nem tudhatja, ha amúgy a közvetlen környezetében szintaktikailag helyes a kód.

2016. okt. 28. 20:25
Hasznos számodra ez a válasz?
 9/21 A kérdező kommentje:

Az hogy "végiggyűrűzik" a hiba az egész programon" az ami nagyon bosszantó és első esetben se volt hajlandó pontosan megmondani hogy mi is a hiba pontosan.

Régen teszteltem egy kóddal, majd előkerítem és bemásolom.

2016. okt. 28. 21:27
 10/21 anonim ***** válasza:
GCC-vel még életemben nem találkoztam olyan hibával, amit nem határolt be elég pontosan, csak jelzem.
2016. okt. 28. 21:28
Hasznos számodra ez a válasz?
1 2 3

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!