Я нашел удивительную работу Артура Уитни — http://www.jsoftware.com/jwiki/Essays/Incunabulum а>
Он скомпилирован с несколькими предупреждениями
$ 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]
Но произошел сбой при вводе основного ввода 1 + 1
.
./incuna.o
warning: this program uses gets(), which is unsafe.
1 + 1
[1] 11525 segmentation fault ./incuna.o
Я предполагаю, что это как-то связано с разницей в компиляторе C с 1989 года.
Как я смогу запустить это? Могу ли я заставить это работать на последних версиях Linux/Mac? или на виртуальной машине VirtualBox? или что-нибудь еще?
Мои поиски в Google ничего не дали.
#include <stdio.h>
возможно? Изменить: исправлен синтаксис - person leppie   schedule 11.12.20121+1
не segfault. Просто думал, что вы должны знать. - person Daniel Kamil Kozar   schedule 11.12.20121+1
делает segfault для меня. - person user1527166   schedule 11.12.2012