Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

K&R C auf modernem Gerät übersetzen

6 views
Skip to first unread message

Sebastian Barthel

unread,
Jan 20, 2020, 10:40:59 AM1/20/20
to
Gibt es eigentlich eine einfache Möglichkeit alten Sourcecode, der in dem
ganz ursprünglichen C nach den beiden Spracherfindern geschrieben ist,
automatisch so umzubauen, daß man ihn auf einem aktuellen gcc übersetzen
kann ?

Es müßte mindestens für die Funktionen die Variablenliste in die Klammer
hinter dem Funktionsnamen gesetzt werden. Außerdem evtl. sowas wie ein
Headerfile erzeugt werden bzw. die Funktionsnamen einmal zusätzlich am
Beginn des C-Files auftauchen.

Mehr habe ich bisher per Hand auch nicht machen müssen, bin aber sicher,
daß es da noch reichlich weitere "Abweichungen" gibt, die aber wohl hier
nicht aufgetaucht sind.

VG,
SBn

Helmut Schellong

unread,
Jan 20, 2020, 11:20:43 AM1/20/20
to
On 01/20/2020 16:40, Sebastian Barthel wrote:
> Gibt es eigentlich eine einfache Möglichkeit alten Sourcecode, der in dem
> ganz ursprünglichen C nach den beiden Spracherfindern geschrieben ist,
> automatisch so umzubauen, daß man ihn auf einem aktuellen gcc übersetzen
> kann ?
>
> Es müßte mindestens für die Funktionen die Variablenliste in die Klammer
> hinter dem Funktionsnamen gesetzt werden.

Die alte Art wird nach wie vor von gcc akzeptiert:

void foo(a, b, c)
int a, b, c;
{
return;
}


--
Mit freundlichen Grüßen
Helmut Schellong v...@schellong.biz
www.schellong.de www.schellong.com www.schellong.biz
http://www.schellong.de/c.htm
http://www.schellong.de/htm/audio_proj.htm
http://www.schellong.de/htm/audio_unsinn.htm

Sebastian Barthel

unread,
Jan 20, 2020, 1:35:47 PM1/20/20
to
Am Mon, 20 Jan 2020 17:20:50 +0100 schrieb Helmut Schellong:

> On 01/20/2020 16:40, Sebastian Barthel wrote:
>> Gibt es eigentlich eine einfache Möglichkeit alten Sourcecode, der in
>> dem ganz ursprünglichen C nach den beiden Spracherfindern geschrieben
>> ist, automatisch so umzubauen, daß man ihn auf einem aktuellen gcc
>> übersetzen kann ?
>>
>> Es müßte mindestens für die Funktionen die Variablenliste in die
>> Klammer hinter dem Funktionsnamen gesetzt werden.
>
> Die alte Art wird nach wie vor von gcc akzeptiert:
>
> void foo(a, b, c)
> int a, b, c;
> {
> return;
> }

OK. Genau sowas meinte ich. Da muß ich nochmal probieren, genau gucken,
wie das exakt damit geht.

Danke für die Info.

Gruß, SBn

Bonita Montero

unread,
Jan 21, 2020, 10:48:07 AM1/21/20
to
> Gibt es eigentlich eine einfache Möglichkeit alten Sourcecode, der in dem
> ganz ursprünglichen C nach den beiden Spracherfindern geschrieben ist,
> automatisch so umzubauen, daß man ihn auf einem aktuellen gcc übersetzen
> kann ?

Hat mich auch interessiert, auch wenn man praktisch kaum noch Code
antreffen sollte der nach K&R geschrieben ist. Ich hab gerade das
hier gefunden: https://github.com/awarthen/un-obsolize
Keine Ahnung ob das wirklich tauglich parst, aber vielleicht ist
das ja was für dich (über die Nicht-Notwendigkeit hat ja schon
jemand anders hier was gesagt).

Andreas Burmester

unread,
Jan 21, 2020, 3:44:56 PM1/21/20
to
Am 20.01.2020 um 16:40 schrieb Sebastian Barthel:
> Gibt es eigentlich eine einfache Möglichkeit alten Sourcecode, der in dem
> ganz ursprünglichen C nach den beiden Spracherfindern geschrieben ist,
> automatisch so umzubauen, daß man ihn auf einem aktuellen gcc übersetzen
> kann ?

Schon mal https://sourceforge.net/projects/cproto/ angesehen?

GCCs protoize/unprotoize wäre auch etwas, ist aber irgendwann aufgegeben
worden und dürfte heutzutage nur mit Mühen zu finden und zum Laufen
gebracht werden können.

b.

Sebastian Barthel

unread,
Jan 29, 2020, 10:02:29 AM1/29/20
to
Das sieht brauchbar aus. Werde es mal testen. Klingt auf jeden Fall genau
nach dem, was ich bisher per Hand gemacht hatte und mir ersparen wollte.

Danke !

Sebastian Barthel

unread,
Jan 29, 2020, 10:03:10 AM1/29/20
to
Auch hier werde ich mal reinschauen.

Danke ebenfalls !
0 new messages