Forum: Mikrocontroller und Digitale Elektronik Suche entgeltlichen Prüfer für meinen C++-Code


von Julian K. (fragenkinsey)


Lesenswert?

Hallo Community,

ich habe ein Programm in C für einen AT90USB1287 geschrieben. Ich bin 
der Meinung, dass das Programm fertig ist. Der Compiler wirft mir nur 
einen Fehler raus, den ich nicht kapiere.

Da ich es in meine Abschlussarbeit einbringen möchte, ist es mir 
wichtig, dass ich anonym bleibe und es fehlerfrei ist. Deshalb wollte 
ich jemanden von euch bitten, es zu kontrollieren. Ich biete für die 
Korrektur ein Entgelt (35 Euro VB) an. Ich kann es per Post schicken 
oder einfach überweisen.

Es handelt sich hierbei um ein Quellcode mit ungefähr 130 Zeilen. In 
diesem Code wird der Timer angesprochen, der ADC und der USART.
Für geübter Programmierer von uC sollte das meines Erachtens nach keine 
Schwierigkeit darstellen.

Ich habe den Quellcode nach bestem Wissen und Gewissen geschrieben. 
Niemand soll hier glauben, dass er für mich einen Code schreiben soll. 
Es geht mir wie bereits erwähnt nur um die reine Kontrolle.

Ich wäre sehr darüber erfreut, wenn sich jmd. dieser Aufgabe annehmen 
würde.

Wer an dieser Aufgabe interessiert ist, der schreibt mir bitte einfach 
eine E-Mail an kinseydonatello@gmail.com.

Greetz
fragenkinsey

von Kein Name (Gast)


Lesenswert?

Mann, war das früher einfach. Wenn mal jemand drüberschauen sollte, 
brauchten wir einen Kommilitonen fragen. Wenn das mal nich glatte 0 
Punkte in der Rubrik Teamfähigkeit gibt.

von Magic S. (magic_smoke)


Lesenswert?

Jo echt. Ich hab damals fürs Studium eines Kumpels knapp 1300 Zeilen 
Assembler geschrieben. Kostenfrei.

von Ach was! (Gast)


Lesenswert?

Bei sowas kann man doch echt nur herzlich lachen.

Da drängt sich die Frage auf: Wenn Du mal fertig bist und in einer Firma 
als Softwareentwickler arbeitest, machst Du das dann genauso? Einfach 
mal Quellcode an einen Unbekannten schicken?

Da die Antwort jetzt wahrscheinlich ist: "Natürlich nicht, aber ..." -> 
Wer einmal aufgibt, wird immer wieder aufgeben. Hinsetzten, selber nach 
dem Fehler suchen. Per aspera ad astra ;-)

von Wolfgang (Gast)


Lesenswert?

Julian Kinsey schrieb:
> Der Compiler wirft mir nur einen Fehler raus, den ich nicht kapiere.
Dann mal heraus mit der Sprache. Was sagt er denn?

von WasFürEinePfeife (Gast)


Lesenswert?

magic smoke schrieb:

> Jo echt. Ich hab damals fürs Studium eines Kumpels knapp 1300 Zeilen
> Assembler geschrieben. Kostenfrei.

Mensch, bist du ein toller Bursche.

von Magic S. (magic_smoke)


Lesenswert?

Ich weiß. Ich bin der beste!!

: Bearbeitet durch User
von Dr. Sommer (Gast)


Lesenswert?

Julian Kinsey schrieb:
> ich habe ein Programm in C für einen AT90USB1287 geschrieben.
Was jetzt, C oder C++? Richtige™ C++ Compiler Fehler zu entschlüsseln 
ist deutlich spaßiger als C-Fehler.

Und für 35€ macht sich ein guter C++ Programmierer vielleicht einen 
Kaffee aber mehr auch nicht.

magic smoke schrieb:
> Jo echt. Ich hab damals fürs Studium eines Kumpels knapp 1300 Zeilen
> Assembler geschrieben. Kostenfrei.
Na du bist ja geschäftstüchtig :D

Ach was! schrieb:
> Hinsetzten, selber nach
> dem Fehler suchen.
Er muss ja nichtmal suchen, der Compiler sagt ja was falsch ist, er muss 
es nur korrigieren...

von Magic S. (magic_smoke)


Lesenswert?

Gehts hier immer nur um Geschäft??

1300 Zeilen in Assembler sind schnell geschrieben, ist nicht so viel wie 
es klingt. Dauert in Hochsprachen ein wenig länger.

130 Zeilen in PHP oder so schreib ich unter einer Stunde, ist also auch 
nicht gerade viel.

C kann ich leider nicht, sonst würde ichs machen.

von Kaj (Gast)


Lesenswert?

Julian Kinsey schrieb:
> Der Compiler wirft mir nur
> einen Fehler raus, den ich nicht kapiere.
Google frage, oder den fehler-text hier posten! Typisches "hmmm... geht 
nicht. ich habs verbockt, aber mach du das mal weg!" Das ist DEIN 
Abschluss, also tu auch was dafür.

Wow,
Julian Kinsey schrieb:
> Quellcode mit ungefähr 130 Zeilen
respekt. War bestimmt viel aufwand...

Wenn du das schon nicht hinbekommst, würd ich mal drüber nachdenken ob 
das wirklich deine
Julian Kinsey schrieb:
> Abschlussarbeit
ist.egal was für ein abschluss, traurig wenn du nicht mal google 
benutzen kannst!

Julian Kinsey schrieb:
> Es geht mir wie bereits erwähnt nur um die reine Kontrolle.
Das macht doch der Compiler für dich. Und solange der schreit, bist du 
nicht fertig. Der ist sogar so freundlich dir zu sagen was, wo, warum 
nicht passt.

von Michael J. (jogibaer)


Lesenswert?

Hallo,

wie lautet den der Fehler ?

Vielleicht genügt schon ein kleiner Tip, und Du
kannst das Problem selber lösen.


An die anderen:
was soll das Dumme Gequatsche ?


Jogibär

von Mike (Gast)


Lesenswert?

Kaj schrieb:
> Der ist sogar so freundlich dir zu sagen was, wo, warum nicht passt.

Da habe ich bei C manchmal meine Zweifel.
Ein fehlendes ";" und der blubbert einen wegen seines gesamten 
Unverständnisses des restlichen Quelltextes voll.

von Michael J. (jogibaer)


Lesenswert?

Jack Daniels schrieb im Beitrag #3397798:
> Es ist auch nicht dümmer als das Eingangsposting des TOs.
> Du kennst die Schalleigenschaften von Wäldern (aka Echo etc.)?


Was ist denn bitte am Eingangsposting des TOs dumm ???

Jogibär

von Walter (Gast)


Lesenswert?

Mike schrieb:
> Da habe ich bei C manchmal meine Zweifel.
> Ein fehlendes ";" und der blubbert einen wegen seines gesamten
> Unverständnisses des restlichen Quelltextes voll.

deswegen schaut man sich als erstes die erste Fehlermeldung an

von Yalu X. (yalu) (Moderator)


Lesenswert?

Julian Kinsey schrieb:
> Der Compiler wirft mir nur
> einen Fehler raus, den ich nicht kapiere.

Nur einen einzigen, das sollte also kein Problem sein.

Die Erfahrung lehrt allerdings, dass, nur weil der Compiler nichts mehr 
zu meckern hat, das Programm noch lange nicht fertig ist ;-)

von Magic S. (magic_smoke)


Lesenswert?

Ach fehlendes ";" geht ja noch. Da weißt Du immerhin, wo Du suchen mußt.

Vergiss mal in PHP ein "}", da hast Du Freude dran!

von lilala (Gast)


Lesenswert?

Michael Jogwich schrieb:
> Was ist denn bitte am Eingangsposting des TOs dumm ???

z.B. dass er nicht weiß in welcher Sprache sein Programm geschrieben 
ist. In der Überschrift steht C++ im Text C.

von Cyblord -. (cyblord)


Lesenswert?

Poste doch einfach mal den Code und die Compilerwarnungen/Fehler.
Dann wird dir sicher geholfen.

von Karl H. (kbuchegg)


Lesenswert?

Julian Kinsey schrieb:

> Da ich es in meine Abschlussarbeit einbringen möchte,

Abschlussarbeit?
Welche Abschlussarbeit?

Als ich deine restlichen Fragen hier im Forum gesehen habe, bin ich 
eigentlich von einem Neuling ausgegangen und nicht von jemanden, der 
seinen Abschluss macht.

Na, bumm. Das allerdings stellt jetzt alles in ein ganz anderes Licht.

: Bearbeitet durch User
von lilala (Gast)


Lesenswert?

Karl Heinz schrieb:
> Na, bumm. Das allerdings stellt jetzt alles in ein ganz anderes Licht.

Es ist ja nicht klar was für ein Abschluss. Wenn irgendetwas 
technisches, dann ist das schon peinlich. Aber vielleicht ist er ja z.B. 
Biologe und hat zu seinem Verhaltensexperiment die Elektronik und 
Software selber gemacht. Das wäre dann auch mit Forumsunterstützung 
schon gut.

von Karl H. (kbuchegg)


Lesenswert?

Mike schrieb:
> Kaj schrieb:
>> Der ist sogar so freundlich dir zu sagen was, wo, warum nicht passt.
>
> Da habe ich bei C manchmal meine Zweifel.
> Ein fehlendes ";" und der blubbert einen wegen seines gesamten
> Unverständnisses des restlichen Quelltextes voll.

Ja, und wenn man da 2 mal drüber gestolpert ist, erkennt man das Muster 
und denkt sich: Das kann nicht sein, da können keine 150 Fehler drinnen 
sein - nicht mit diesem Fehlermuster. Das muss ein vergessener ';' oder 
eine vergessene '}' oder sonst irgendwas in dieser Richtung sein, und 
beginnt an der vom Compiler genannten Codezeile rückwärts zu suchen, wo 
der Fehler sitzt.
Für jemand mit ein bißchen Erfahrung ist ein vergessener ';' kein 
allzugroßes Problem, das er nicht in 10 Minuten gefixt hat. Vergessene } 
können da schon unangenehmer sein, aber dagegen ist ein sauberes und 
konsequentes Einrückschema eine gutes Hilfsmittel.

Ganz im Gegenteil: Macht man kleine Erweiterungen und dann tauchen 
plötzlich 200 Fehler aus dem Nichts aus, dann ist der (einzige) Fehler 
meist recht trivial, wie zb ein vergessenes ';'. In diesem Sinne darf 
man sich einfach nicht ob der schieren Menge an Fehlermeldungen ins 
Boxhorn jagen lassen. Hat man das Problem gefixt, verschwinden diese 200 
Fehler wieder ins Nichts.

: Bearbeitet durch User
von Karl H. (kbuchegg)


Lesenswert?

lilala schrieb:
> Karl Heinz schrieb:
>> Na, bumm. Das allerdings stellt jetzt alles in ein ganz anderes Licht.
>
> Es ist ja nicht klar was für ein Abschluss. Wenn irgendetwas
> technisches, dann ist das schon peinlich. Aber vielleicht ist er ja z.B.
> Biologe und hat zu seinem Verhaltensexperiment die Elektronik und
> Software selber gemacht. Das wäre dann auch mit Forumsunterstützung
> schon gut.

Nö. Nicht wirklich.
Einer der allerwichtigsten Punkte in der Technik bzw. den 
Naturwissenschaften ist es, die Frage beantowrten zu können: Was kann 
ich und was kann ich nicht?
Vor ihr stand Jack Sparrow einst, als er sich frug, ob er sein Schiff 
alleine nach Tortuga segeln könne oder nicht.
Jemand der sich auf eine Abschlussarbeit einlässt über etwas das er 
nicht kann und das er auch nicht lernen will, ist für mich kein Held.

: Bearbeitet durch User
von Cyblord -. (cyblord)


Lesenswert?

Karl Heinz schrieb:
> Julian Kinsey schrieb:
>
>> Da ich es in meine Abschlussarbeit einbringen möchte,
>
> Abschlussarbeit?
> Welche Abschlussarbeit?

Wahrscheinlich wieder sowas dubios schulisch-technisches. Wie die ganze 
HTL'ler die hier immer aufschlagen.

von Karl H. (kbuchegg)


Lesenswert?

cyblord ---- schrieb:
> Karl Heinz schrieb:
>> Julian Kinsey schrieb:
>>
>>> Da ich es in meine Abschlussarbeit einbringen möchte,
>>
>> Abschlussarbeit?
>> Welche Abschlussarbeit?
>
> Wahrscheinlich wieder sowas dubios schulisch-technisches. Wie die ganze
> HTL'ler die hier immer aufschlagen.

Wobei das für einen HTL-er ganz schön peinlich wäre. Auch im 
Zusammenhang mit den restlichen Fragen des Fragestellers. Da er aber in 
einem Post das Satzfragment ("früher in der Schule") benutzt, geh ich 
nicht von einer HTL aus.

: Bearbeitet durch User
von Magic S. (magic_smoke)


Lesenswert?

Das mit den vergessenen "}" ist halt deswegen so blöde, weil PHP einfach 
nur "unexpected end, expecting }" in der letzten Zeile des Quellcodes 
meldet. Hat der Quellcode nun 50kByte und man hat das } irgendwo 
mittendrin vergessen, überkommen einen ziemliche Hassgefühle.

von lilala (Gast)


Lesenswert?

magic smoke schrieb:
> Das mit den vergessenen "}" ist halt deswegen so blöde, weil PHP einfach
> nur "unexpected end, expecting }" in der letzten Zeile des Quellcodes
> meldet. Hat der Quellcode nun 50kByte und man hat das } irgendwo
> mittendrin vergessen, überkommen einen ziemliche Hassgefühle.

LaTex ist da auch speziell.

von Karl H. (kbuchegg)


Lesenswert?

magic smoke schrieb:
> Das mit den vergessenen "}" ist halt deswegen so blöde, weil PHP einfach
> nur "unexpected end, expecting }" in der letzten Zeile des Quellcodes
> meldet. Hat der Quellcode nun 50kByte und man hat das } irgendwo
> mittendrin vergessen, überkommen einen ziemliche Hassgefühle.

Obs bei PHP auch funktioniert, kann ich nicht sagen. Bei C ist da eine 
ganz brauchbare Technik: auskommentieren.
Wenn man gar keine Ahnung hat, wo man anfangen soll(*): Geh meinetwegen 
von ungefähr der File-Mitte aus, scroll etwas rum, bis du einen 
Funktionsanfang hast. Dann kommentierst du von dort beginnend alle 
Funktionen bis zum Dateiende aus. Ein
1
#if 0
2
...
3
#endif
tuts auch, wenn man Kommentare nicht schachteln kann.

Ist damit der Klammerfehler behoben?
Wenn ja, dann hast du auch die fehlerhafte Funktion stillgelegt und das 
#if 0 rutscht nach unten. Solange, bis man die fehlerhafte Funktion 
gefunden hat. Und dann heißt es eben absuchen, wo sie fehlt.

(*)Meistens hat man ja aber sowieso eine gewisse Ahnung, wo das Problem 
sitzt. Wer 2000 Lines of Code in 50 Funktionen ohne einen einzigen 
Compilerlauf durchschreibt hat sowieso etwas ganz grundsätzliches nicht 
verstanden, wie man größere Systeme heute entwickelt. War es früher bei 
Spielen das berühmte "save often, save early", so ist es in der 
Entwicklung ein "compile often, compile early". Und damit stellt sich 
dann meist gar nicht dir Frage, wo genau in einer größeren Source Code 
Datei man sich ein Problem eingehandelt hat.

Und mit größer meine ich ein paar tausend Lines of Code. Mit 130 Zeilen 
ist das alles ja sowieso überhaupt kein Problem. Das sind noch nicht mal 
2 komplette Bildschirmseiten. Sowas sollte man eigentlich überblicken 
können.

: Bearbeitet durch User
von Mark B. (markbrandis)


Lesenswert?

Julian Kinsey schrieb:
> Der Compiler wirft mir nur einen Fehler raus, den ich nicht kapiere.

Dann poste doch mal den Fehlertext des Compilers nebst zugehörigem 
Sourcecode.

Ach ja, zum Thema "Klammer zu vergessen" oder "geschweifte Klammer auf 
vergessen": Ich hab mich schon öfter gefragt, warum C-Compiler keine 
Meldung à la "File xyz.c has 50 opening brackets, but only 49 closing 
ones" bringen. Das sollte technisch gesehen doch nicht so schwer sein. 
Oder?

: Bearbeitet durch User
von Sven P. (Gast)


Lesenswert?

Karl Heinz schrieb:
> Obs bei PHP auch funktioniert, kann ich nicht sagen.
Ist auch völlig unrelevant. PHP ist Müll. Parser und Lexer von PHP sind 
Müll. Die Sprachdefinition von PHP ist Müll. Die 'Standardbibliothek' 
von PHP ist Müll.
Und das Tragische an alledem ist, man kann jeden dieser Punkte ziemlich 
gut belegen.


> Bei C ist da eine
> ganz brauchbare Technik: auskommentieren.
Weitere Techniken: Wenn man mit C++ und Templates arbeitet, dann gibts 
diverse Filter für die Fehlerausgabe des Compilers, da die im 
Zusammenhang mit Templates meistens völlig unbrauchbar wird.

Es kann auch empfehlenswert sein, den Quelltext durch andere Compiler zu 
drücken. Clang aus dem llvm-Projekt beispielsweise liefert meistens 
deutlich eindeutigere Fehlermeldungen, als der GCC.

von Magic S. (magic_smoke)


Lesenswert?

Schreibst Du Webseiten also lieber in C oder Basic. Okay. Jedem das 
seine. Auch wenn ich finde, daß derjenige Müll ist.

von Sven P. (Gast)


Lesenswert?

magic smoke schrieb:
> Schreibst Du Webseiten also lieber in C oder Basic.
Nein, aber es gibt mittlerweile genügend andere Sprachen, die schon in 
der ersten Auflage ausgereifter und durchdachter waren, als PHP es heute 
ist.

> Okay. Jedem das
> seine. Auch wenn ich finde, daß derjenige Müll ist.
Erweitere mal deinen Horizont ein wenig.

von Karl H. (kbuchegg)


Lesenswert?

Mark Brandis schrieb:
> Julian Kinsey schrieb:
>> Der Compiler wirft mir nur einen Fehler raus, den ich nicht kapiere.
>
> Dann poste doch mal den Fehlertext des Compilers nebst zugehörigem
> Sourcecode.
>
> Ach ja, zum Thema "Klammer zu vergessen" oder "geschweifte Klammer auf
> vergessen": Ich hab mich schon öfter gefragt, warum C-Compiler keine
> Meldung à la "File xyz.c has 50 opening brackets, but only 49 closing
> ones" bringen. Das sollte technisch gesehen doch nicht so schwer sein.
> Oder?

Jaein.

Ganz so einfach ist es nicht. Dann was der Compiler dann letztendlich zu 
Gesicht kriegt, ist nicht dasselbe wie das was du ins C-File schreibst. 
Wenn man berücksichtigt, dass sich nichts und niemand daran hindert ein
1
void foo( void )
2
{
3
#include "foo.inc"
4
}
zu machen. Hast du einen {-} Mismatch in der inc-Datei, dann ist die 
Fehlermeldung erste recht wieder nicht sehr hilfreich.

Genauso kannst du ja auch den Text einer Funktion über mehrere 
Include-Files verteilen.

D.h. machbar wäre da sicherlich etwas. Die Frage ist einfach nur: wie 
hilfreich ist es dann wirklich in den komplexeren Situationen (dort wo 
es tatsächlich was bringen würde) bzw. wie groß ist denn der 
Leidensdruck bei den Leuten, die tatsächlich mit größeren Systemen 
arbeiten müssen. Und gerade bei letzteren ist meine persönliche 
Erfahrung: Er ist praktisch nicht wirklich vorhanden. Eine fehlende } 
stellt einen Entwickler vor keine großen Probleme. Die Fehlermeldung mag 
etwas irreführend klingen, je nach Compiler, aber nach dem 2-ten oder 
3-ten mal hat man das intus, eine fehlende } in Betracht zu ziehen.

Genauso mit den ';'. Die fiesen ';' Fehler sind die, bei denen am Ende 
eines Header-Files zb das abschliessende ';' nach einer 
struct-Definition vergessen wurde, die am Ende des Include Files steht. 
Stösst man auf sowas das Erste mal, dann sucht man sich schon mal einen 
Wolf.

: Bearbeitet durch User
von Yalu X. (yalu) (Moderator)


Angehängte Dateien:

Lesenswert?

Falls es jemanden interessiert: Hier ist ein "Algorithmus", mit dem
recht schnell vergessene "}" gefunden und korrigiert werden können,
vorausgesetzt, der Code ist ordentlich eingerückt und enthält keine
weiteren Fehler:
1
1. Schreibe ganz ans Ende der Quellcodedatei eine zusätzliche
2
   schließende Klammer (im Bild grün).
3
4
2. Springe mit dem entsprechenden Editorbefehl (beim Vim "%") zur
5
   korrespondierenden öffnenden Klammer (blauer Pfeil). Wird keine
6
   korrespondierende Klammer gefunden, gehe zu Schritt 8.
7
8
3. Springe mit dem entsprechenden Editorbefehl (beim Vim "^") zum Beginn
9
   der aktuellen Zeile (grüner Pfeil). Stehen die öffnenden Klammern
10
   jeweils in einer eigenen Zeile und in der gleichen Spalte wie die
11
   korrespondierende schließende Klammer, erübrigt sich dieser Schritt.
12
13
4. Bewege den Cursor manuell vertikal nach unten, bis er auf etwas
14
   anderes als Einrückungs-Whitspace stößt (roter Pfeil).
15
16
5. Steht der Cursor auf einer schließenden Klammer gehe zu Schritt 2.
17
18
6. Füge oberhalb des Cursors eine Zeile mit einer schließenden Klammer
19
   ein.
20
21
7. Springe zum Quellcodeende und gehe zu Schritt 2.
22
23
8. Lösche die anfangs hinzugefügte schließende Klammer.

Im angehängten Bild ist der Ablauf bis ausschließlich Schritt 6 gezeigt.
Der Cursor steht jetzt in der Zeile mit dem gelben Punkt. Oberhalb davon
fehlt eine schließende Klammer.

Wer lustig ist, kann ja ein Skript schreiben, das diese Schritte
automatisch ausführt.

: Bearbeitet durch Moderator
von c-hater (Gast)


Lesenswert?

Karl Heinz schrieb:

> (*)Meistens hat man ja aber sowieso eine gewisse Ahnung, wo das Problem
> sitzt. Wer 2000 Lines of Code in 50 Funktionen ohne einen einzigen
> Compilerlauf durchschreibt hat sowieso etwas ganz grundsätzliches nicht
> verstanden, wie man größere Systeme heute entwickelt.

Das ist richtig, aber anders als du denkst. Größere Systeme werden heute 
in "managed" Sprachen und mit einer vernünftigen IDE entwickelt. Da 
ergibt sich das Problem erst garnicht, weil schon bei der Eingabe 
laufend an der Syntax rumgemäkelt wird, weil die IDE in das Innenleben 
des Compilers reinsehen kann.
Man kommt dann selbst im Halbblindflug keine drei Zeilen über einen 
Syntax-Fehler hinaus, weil liebgewordene Komfort-Features der IDE dann 
auch nicht mehr wie gewohnt funktionieren oder nur noch Müll machen. Das 
motiviert unwahrscheinlich, den Fehler gleich zu suchen und zu 
beheben...

Aber auch mit den "klassischen" Systemen schreiben gelernte 
Programmierer mal eben 10000 Zeilen Code am Stück und beschäftigen sich 
dann maximal eine halbe Stunde damit, dem Compiler sein tief 
verwurzeltes Unverständnis für Typos, vergessene Delimeter, überflüssige 
Quotes und so'n Zeug auszutreiben und dann compiliert oder assembliert 
der Code. Kannste glauben. Ich mach' das seit 25 Jahren so.

Natürlich ist der Code dann mit an Sicherheit grenzender 
Wahrscheinlichkeit noch nicht frei von logischen Fehlern. Vermutlich 
wird er das sogar niemals vollständig. Zumindest nicht beweisbar...

Wie auch immer: Sprachen mit sinnvoller Syntax (also C explizit nicht!) 
helfen jedenfalls nach meiner Erfahrung gewaltig dabei, die 
Syntax-Fehlerrate niedrig zu halten bzw. zumindest dabei, Syntaxfehler 
ohne allzu großen Aufwand finden und beheben zu können...

Und u.a. deswegen bin und bleibe ich: c-hater.

von Matthias L. (matze88)


Lesenswert?

Mark Brandis schrieb:
> Ach ja, zum Thema "Klammer zu vergessen" oder "geschweifte Klammer auf
> vergessen": Ich hab mich schon öfter gefragt, warum C-Compiler keine
> Meldung à la "File xyz.c has 50 opening brackets, but only 49 closing
> ones" bringen. Das sollte technisch gesehen doch nicht so schwer sein.
> Oder?

Einfach mal Clang benutzen. Der sagt dir sogar, wo du die Klammer 
vergessen hast :)
1
purefruit :: /tmp % cat main.c                                                                                                                                                                                                             1 
2
int f(int x){
3
  int result = (x/42);
4
  if(x < 0) {
5
    result = x/2;
6
  return result;
7
}
8
purefruit :: /tmp % clang main.c                                                                                                                                                                                                              
9
main.c:6:2: error: expected '}'
10
}
11
 ^
12
main.c:1:13: note: to match this '{'
13
int f(int x){
14
            ^
15
1 error generated.

von Matthias L. (matze88)


Lesenswert?

c-hater schrieb:
> Das ist richtig, aber anders als du denkst. Größere Systeme werden heute
> in "managed" Sprachen und mit einer vernünftigen IDE entwickelt. Da
> ergibt sich das Problem erst garnicht, weil schon bei der Eingabe
> laufend an der Syntax rumgemäkelt wird, weil die IDE in das Innenleben
> des Compilers reinsehen kann.

LibClang? vim + clang_complete? Makefiles?

c-hater schrieb:
> Wie auch immer: Sprachen mit sinnvoller Syntax (also C explizit nicht!)
> helfen jedenfalls nach meiner Erfahrung gewaltig dabei, die
> Syntax-Fehlerrate niedrig zu halten bzw. zumindest dabei, Syntaxfehler
> ohne allzu großen Aufwand finden und beheben zu können...

Da stimme ich dir allerdings zu.

von lilala (Gast)


Lesenswert?

c-hater schrieb:
> Sprachen mit sinnvoller Syntax (also C explizit nicht!)

Welche Sprache hat denn eine sinnvolle Syntax? OCaml? Scherz beiseite, 
ich hätte auch gerne was schöneres.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.