如何在编译期间编写程序?

时间:2009-10-03 05:13:31

标签: c

编写一个小型C程序,编译时需要另一个程序 从输入终端,在运行时给出第二个结果 程序。 (注意:关键是,想想UNIX)。

假设程序是1.c. 然后,在编译时

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

2 个答案:

答案 0 :(得分:14)

这是一个古老的风靡我猜

我的程序,tty.c:

#include "/dev/tty"

外壳:

$ 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

答案 1 :(得分:1)

使编译读取文件的最合理方法是#include,但对我来说,如何在所有Unix系统上以可移植的方式读取标准输入并不明显(在Linux中很容易,感谢/proc!的魔力,但这不是便携式的。)