trampa - Pregunta de entrevista de Odd C
preguntas para una entrevista (3)
Debe decirle al compilador que tome la entrada del código fuente de la entrada estándar y compile eso. Probablemente hay un argumento de línea de comandos para eso.
De esta manera, puede canalizar la salida de otro programa en su compilador.
EDITAR Como de costumbre, Stack Overflow ya tenía una respuesta para esto.
echo "int main() { return 0; }" | gcc -x c -
EDIT Perdió la declaración de compilación al mismo tiempo . El truco de tuberías todavía funciona de otra manera, así que lo dejaré ahí.
Posible duplicado:
¿Cómo escribir un programa durante la compilación?
Hola chicos. Encontré este problema en un sitio lleno de preguntas de la entrevista, y me sorprendió. ¿Hay alguna directiva de preprocesador que permita leer de la entrada estándar durante la compilación?
Escriba un programa en C pequeño, que mientras compila toma otro programa del terminal de entrada, y al ejecutarlo da el resultado del segundo programa. (NOTA: La clave es, piense en UNIX). Supongamos que el programa es 1.c Luego, mientras compila
$ cc -o 1 1.c
int main() { printf("Hello World/n"); } ^D
$ ./1
Hello World
EDITAR Resulta que esta pregunta es un duplicado exacto. ¿Cómo escribir un programa durante la compilación?
En el espíritu de una sola mano, traté de hacer una versión más independiente de la plataforma / entorno. Sin embargo, me quedé atascado aquí ... así que esta es mi pregunta, ¿qué puedo reemplazar ''???'' ¿con?
#ifdef _WIN32
#include ???
#else
#include "/dev/stdin"
#endif
EDITAR : Gracias a ahora puedo conseguir el trabajo con:
#ifdef _WIN32
#include "CON"
#else
#include "/dev/stdin"
#endif
#include "/dev/stdin"
es el truco.
Una pregunta de entrevista tonta en el mejor de los casos.