fand ich dieses erstaunliche Stück Arbeit von Arthur Whitney - http://www.jsoftware.com/jwiki/Essays/IncunabulumWie kann ich dieses 1989 geschriebene C-Programm kompilieren und ausführen?
es mit einem paar Warnungen zusammengestellt
$ gcc-4.7 incuna.c -o incuna.o
incuna.c: In function 'ma':
incuna.c:8:15: warning: incompatible implicit declaration of built-in function 'malloc' [enabled by default]
incuna.c: In function 'pi':
incuna.c:26:7: warning: incompatible implicit declaration of built-in function 'printf' [enabled by default]
incuna.c: In function 'nl':
incuna.c:26:24: warning: incompatible implicit declaration of built-in function 'printf' [enabled by default]
incuna.c: In function 'pr':
incuna.c:28:10: warning: incompatible implicit declaration of built-in function 'printf' [enabled by default]
incuna.c: In function 'ex':
incuna.c:35:36: warning: assignment makes integer from pointer without a cast [enabled by default]
incuna.c:35:25: warning: return makes pointer from integer without a cast [enabled by default]
incuna.c: In function 'noun':
incuna.c:37:57: warning: return makes integer from pointer without a cast [enabled by default]
incuna.c: In function 'wd':
incuna.c:39:21: warning: incompatible implicit declaration of built-in function 'strlen' [enabled by default]
Aber es segfaulted 1 + 1
eine Basis-Eingabe beim Eintritt.
./incuna.o
warning: this program uses gets(), which is unsafe.
1 + 1
[1] 11525 segmentation fault ./incuna.o
Ich vermute, das hat etwas mit dem Unterschied in C-Compiler seit 1989
Wie würde ich in der Lage sein zu laufen, dies zu tun? Kann ich das auf aktuellen Linux/Mac arbeiten? oder auf einer VirtualBox VM? oder irgendetwas anderes?
Meine Google-Suchen aufgedeckt nichts verwandtes.
Vielleicht könnten Sie versuchen, das Programm in gdb ausführen, um weitere Informationen zu sehen? –
'#include' vielleicht? Edit: korrigierte Syntax –
leppie
Dies sieht aus wie Pufferüberlauf wegen gets() – Zaffy