gcc 2.9x vs 3.x

Tummelplatz für Computernutzer im allgemeinen und ihrer vielfältigen Probleme

Moderator: (M) Mod.-Team Allgemein

Antworten
cyrano

gcc 2.9x vs 3.x

Beitrag von cyrano » Di, 16. Dez. 03, 10:21

Hi. Kann mir mal jemand kurz die wichtigsten Unterschiede zw. GCC 2.9x und 3.x erklähren, ich habe da so ein kleines Programm im Internet runtergeladen und wollte es compilieren, dann aber das:
download.c: In function `md9781_download_file':
download.c:81: parse error before `unsigned'
download.c:83: `buffer' undeclared (first use in this function)
download.c:83: (Each undeclared identifier is reported only once
download.c:83: for each function it appears in.)
download.c:97: parse error before `int'
download.c:98: `length' undeclared (first use in this function)
Zeile 81ff

Code: Alles auswählen

 unsigned char buffer[chunksize];
    for&#40; i = 0; i < chunks-1; i++ &#41; &#123;
      memset&#40; buffer, 0, chunksize&#41;;
Zeile 97,98

Code: Alles auswählen

  int length = filesize % chunksize;
if&#40;length > 0&#41; &#123;
OK sowohl die deklaration von buffer, wie auch von length stehen mitten in einer Funktion, nun weiß ich nicht ob das bei 3.x mittlerweile erlaubt ist, oder ob das nur was mit ANSI-C / nicht ANSI-C zu tun hat. Das Programm läuft aber anscheinend mit gcc 3 compiliert, da es ein debian sit-package davon gibt.

Wenn mittlerweile die Deklaration von Variablen mitten im Code erlaubt ist, dann müsste ich mich mittlerweile weigern 3.x zu benutzen. Das ist dann ja wohl der größte Scheiss seit VisualBasic.

Benutzeravatar
NightStalker
TalkING. Champion
TalkING. Champion
Beiträge: 891
Registriert: Mo, 21. Okt. 02, 20:40
Wohnort: Downloadbereich

Beitrag von NightStalker » Di, 16. Dez. 03, 16:10

Genau das ist es wohl ....
Guckst du hier:

http://forum.tu-talking.de/viewtopic.php?t=480
-- Chrz&#261;szcz brzmi w trzcinie w Szczebrzeszynie.
-- &#22909;&#22909;&#23398;&#20064;&#65292;&#22825;&#22825;&#21521;&#19978;&#65281;

cyrano

Beitrag von cyrano » Di, 16. Dez. 03, 17:06

Ja super, danke.

:-)

Also bleib ich lieber bei 2.96 und warte auf 3.4


PS: Jetzt muesste man nur noch Makros wieder abschaffen, dann waere die C Welt wieder in ordnung. :-)

Benutzeravatar
6A616E
TalkING. Newbie
TalkING. Newbie
Beiträge: 15
Registriert: Mi, 27. Nov. 02, 13:49
Wohnort: St. Pauli

Beitrag von 6A616E » Di, 16. Dez. 03, 17:28

Naja, großer Scheiß ist es vielleicht, wenn man GCC-Erweiterungen benutzt und dann meckert, wenn sie nicht mit einem anderen Compiler funktionieren. Die Erweiterungen des GCC sind eigentlich oft sehr sinnvoll. Aber trotzdem sollte man erstmal versuchen mit den Möglichkeiten des Standards (incl. C99 Erweiterungen) auszukommen.

Antworten