Mailinglist Archive: opensuse-programming-de (209 mails)

< Previous Next >
Re: Socket-Programmierung (fast Anfänger)
  • From: Ralf Corsepius <corsepiu@xxxxxxxxxxxxxx>
  • Date: 11 Feb 2003 09:13:51 +0100
  • Message-id: <1044951191.2484.157.camel@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
Am Die, 2003-02-11 um 08.23 schrieb Philipp Thomas:
> Ralf Corsepius <corsepiu@xxxxxxxxxxxxxx> [11 Feb 2003 02:23:42 +0100]:
>
> >implizite int's als schlampig zu betrachten ist Pedanterie.
>
> Sorry, aber implizite ints waren IMNSHO schon vor 13 Jahren, als ANSI C
> frisch war und ich C lernte,
Vor 13 Jahren gab es praktisch keine ANSI Compiler ;)

Borland/Turbo-C gaben damals vor es zu sein, waren es aber nicht
wirklich; ebenso wenig wie DEC's VMS-ANSI-C-Compiler, der Sun-C war ein
reiner KnR-Compiler.

Der gcc steckte noch ziemlich in den Kinderschuhen und wurde nur wenig
ernstgenommen ...

Aus dieser Zeit stammt auch die Masse des X11-Codes, der deshalb auch
mit ANSI/KNR-Kompatibilitäts-Macros gespickt ist, ebenso wie die gcc
__P()-Macros

> schlampig, da Ausdruck der Faulheit des
> Programmierers.
In neuem, heute zu schreibendem Code, ja.

> Ja, sie waren noch zulässig, aber das muss nicht viel
> heissen.
Es ist dann von Belang, wenn es sich um alten Code handelt.

IMNSHO, ist Suche nach impliziten int-Returns sinnentleerter Aktionismus
(Man behebt dadurch keine Fehler), es sei denn, man ist der
Maintainer/Entwickler eines Projektes und will seinen Quellcode auf
neueste Standards anpassen.

Das gleiche gilt für implizite Returns ( int foo() { function(); }.

Anders schaut es mit derartigen, in KnR syntaktisch korrekten, aber nur
maschinenabhängigen Konstrukten aus:

int foo( int*)
int foo( a )
short* a;
{
}

Diese hochgefährliche Konstruktion wird von -W-Flags in gcc nicht
detektiert, ist in KnR-C und älterem "möchtegern" ANSI-C-Code aber nicht
selten anzutreffen.

Ralf





< Previous Next >
Follow Ups