¿Cómo escribir un progtwig durante la comstackción?

Escriba un progtwig en C pequeño, que mientras comstack toma otro progtwig del terminal de entrada, y al ejecutarlo da el resultado para el segundo progtwig. (NOTA: La clave es, piense en UNIX).

Supongamos que el progtwig es 1.c Luego, mientras comstack

$ cc -o 1 1.c int main() { printf("Hello World\n"); } ^D $ ./1 Hello World $ 

Este es un viejo truco de Parlaour, supongo.

Mi progtwig, tty.c:

 #include "/dev/tty" 

Cáscara:

 $ gcc tty.c int main() { printf("Hey\n"); } *Ctrl-D here* In file included from tty.c:1: /dev/tty: In function 'main': /dev/tty:2: warning: incompatible implicit declaration of built-in function 'printf' $./a.out Hey 

La forma más razonable de hacer que la comstackción lea un archivo sería #include , pero para mí no es obvio cómo hacer que lea la entrada estándar de manera portátil en todos los sistemas Unix (¡fácil en Linux, gracias a la magia de /proc ! pero eso no sería portátil).