Forum: Compiler & IDEs Einladung zu einem Test in C


von david (Gast)


Lesenswert?

Hallo,

ich möchte jeden einladen einen Test über die Programmiersprache C 
mitzumachen. Bei Gefallen können Sie auch an einem Test über die 
Programmierung eingebetteter Systeme teilnehmen.
Es handelt sich hierbei um eine rein universitäre Untersuchung.
Jeder ist hierzu eingeladen. Am Ende der Untersuchung findet eine 
Verlosung eines Amazon-Gutscheines im Wert von 50 Euro statt.

http://tokyo.ixi.informatik.rwth-aachen.de/phpsurveyor/Verlosung/Verlosung.php

Wir danken für Ihre Teilnahme.

von Peter D. (peda)


Lesenswert?

Ein Test der Webfähigkeiten des Testers wäre erstmal nötiger.

Diese Seite verlangt Bildschirme breiter als 1024 Pixel.

Zeilen umbrechen ist doch nun wirklich Urschleim der Webgestaltung.


Peter

von Franz H. (lundabor)


Lesenswert?

Haha,

und voller Tippfehler...

von Karl Arsch von der Rennbahn (Gast)


Lesenswert?

Aber trotzdem amüsant. Manchmal könnte man das Gefühl haben, dass es 
sich um einen Psychologietest handelt.

von Zapp (Gast)


Lesenswert?

Frueher wurde sowas noch als Wettbewerb aufgezogen. Ein Compilermanual 
gab's natuerlich nicht. Zu dritt hatten wir nach vier Stunden nicht mal 
einen Dreizeiler, der lief. Die Aufgaben waren viel zu hoch angesetzt. 
Zu einem Compiler ohne manual ist schon ein "Hello world!" eine 
Riesenherausforderung.

Z

von Obelix (Gast)


Lesenswert?

Repräsentativ kann das eh nicht werden.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Zapp wrote:

> Zu einem Compiler ohne manual ist schon ein "Hello world!" eine
> Riesenherausforderung.

Das hat doch aber alles nichts mit einem Compilermanual zu tun.
Ich habe eine Stelle gefunden, die undefined behaviour war, sonst
ist alles Standard.

Wäre natürlich interessant, hier danach eine Zusammenfassung der
fundamentalen Erkenntnisse zu lesen, die beim Feldversuch heraus
gekommen sind. ;-)

von Patrick D. (oldbug) Benutzerseite


Lesenswert?

Da wurde irgendwo der Returntype von malloc gecastet. Mir war so, als 
wäre das unzulässig.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Patrick Dohmen wrote:

> Da wurde irgendwo der Returntype von malloc gecastet. Mir war so, als
> wäre das unzulässig.

Nö, es ist lediglich unnötig, da void * zuweisungskompatibel mit
anderen Zeigern ist.

von ... (Gast)


Lesenswert?

Wenn ihr keine Ahnung habt, dann probiert es doch mal mit einem Compiler 
aus!

Man kann zwar einen void pointer mit anderen pointern initialisieren, 
ABER andersrum geht es natürlich nicht implizit!

von Patrick D. (oldbug) Benutzerseite


Lesenswert?

Hab's grad in 'nem anderen Kontext nochmal auf comp.lang.c gelesen:

Ein Cast verhindert lediglich die Warnung, wenn das Headerfile nicht 
inkludiert wird.
1
All the cast does is suppress important error
2
messages if you forget to include the header, nothing else.

  

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Nu, deshalb sag ich ja, unnötig, aber nicht unzulässig.

Wobei er natürlich bei vernünftigem warning level die Warnung nicht
verhindert:
1
char *sayhi(void)
2
{
3
        char *x;
4
5
        x = (char *)malloc(42);
6
        x[0] = 'H';
7
        x[1] = 'i';
8
        x[2] = '\0';
9
10
        return x;
11
}
1
% avr-gcc -Wextra -Wall -c foo.c
2
foo.c: In function 'sayhi':
3
foo.c:5: warning: implicit declaration of function 'malloc'
4
foo.c:5: warning: incompatible implicit declaration of built-in function 'malloc'

OK, die zweite ist GCC, aber die erste sollte jeder vernünftige
Compiler irgendwie bringen.  Ohne dem Cast werden's übrigens nicht
mehr Warnungen. ;-)

von Patrick D. (oldbug) Benutzerseite


Lesenswert?

Hm, tja, keine Ahnung, was dann damit gemeint sein soll!?
Hab's nicht selbst ausprobiert, war ja auch nur so ein "Bauchgefühl" ;-)


von tim (Gast)


Lesenswert?

Sorry, wenn so eine Umfrage dazu führt dass einer sein Diplom bekommt, 
dann gute Nacht Deutschland.

von Gast (Gast)


Lesenswert?

Was war das?
char *(*(var[10]))(char *string1, char *string2)

von Jörg X. (Gast)


Lesenswert?

@Gast:
>>Was war das?
>>char *(*(var[10]))(char *string1, char *string2)
 Da habe ich auch mein C-Buch gefragt ;)
alo ich versuchs mal:
ein array "var[10]" (die Klammern sind unnötig, [] geht VOR *) aus:
Pointern auf:
Funktionen die: zwei Pointern auf char als argumente nehmen und
einen pointer auf char zurückgegen,
 so in etwa?!

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Ja, so habe ich das sogar ohne C-Buch (aber mit Nachdenken :)
gedeutet.  Die Namen string1 und string2 haben dabei lediglich
dokumentarischen Charakter.

von Karl Arsch von der Rennbahn (Gast)


Lesenswert?

>> Was war das?
>> char *(*(var[10]))(char *string1, char *string2)

Die Frage war in etwa: Welcher Datentyp wird initialisiert...?!?! 
Keiner, ';' fehlt. So ein Pech.

von F. K. (freddy436)


Lesenswert?

Bin mir ja nicht sicher, aber:
>Ziehen Sie die Arbeit des Präprozessors anhand des Terms nach.
>#define abs(x) x>0 ? x : -x
>x = abs(a-(++b));

Feststellen das mindestens b nicht konstant ist (wird ja erhöht)
=> Fehler ausgeben ;)
Ist das beabsichtigt?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

F. Kriewitz wrote:

> Feststellen das mindestens b nicht konstant ist (wird ja erhöht)
> => Fehler ausgeben ;)
> Ist das beabsichtigt?

Nein, du sollst es doch nur ,,präprozessen''.  Der Präprozessor kann
derartiges nicht feststellen, der ist ein dummer Textprozessor.

Übrigens liegst du auch falsch mit dem Fehler (nach dem Compilieren).
Das Verhalten dieses Konstrukts ist sogar vollständig definiert, da
der ternäre Operator eine zwingende Auswertungsreihenfolge hat.  Ob
das Ergebnis allerdings den Intentionen des Benutzers entsprach,
steht auf einem anderen Blatt. ;-)  Daher war es mal Usus, dass man
Präprozessor-Makros (bei denen immer die Gefahr besteht, dass sie
ihr Argument mehr als einmal bewerten) groß schreibt.

von Ale (Gast)


Lesenswert?

Nicht Firefox kompatibel :-(, (2 Tabelle !, wie faul kannst du sein ?)

Danke

von Graf van Hirntot (Gast)


Lesenswert?

Tip: IETab plugin für den firefox. allerdings hatte ich keine probleme 
mit dem fuchs 2.0.0.2. imho trotzdem ne schwache leistung wenn du kein 
einzelfall bist.

pumpkin

von Winfried (Gast)


Lesenswert?

Das sind ja ganz neue Herangehensweisen, die mich beeindrucken. Auf der 
Website ist als Projektziel zu lesen: "welche den Menschen in die 
Qualität unter anderem bei der Herstellung eines Produktes mit 
einbezieht."

Der Mensch wird bei der Herstellung eines Produktes mit einbezogen. 
Klasse! Bisher hab ich bei allem, was ich gebaut und hergestellt habe, 
eher meinen Hund gefragt. Das der Mensch dabei eine Rolle spielt, ist 
mir neu ;-)

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.