1

我正在尝试学习这本书:“使用 GNU Make 管理项目”。这个 Makefile 有一个例子:

count_words: count_words.o lexer.o -lfl
    gcc counter_words.o lexer.o -lfl -o count_words

count_words.o: count_words.c
    gcc -c count_words.c

lexer.o: lexer.c
    gcc -c lexer.c

lexer.c: lexer.l
    flex -t lexer.l > lexer.c

我完全不明白这条线

flex -t lexer.l > lexer.c

在这种情况下,字符“>”是什么意思?什么是 .l ?

4

2 回答 2

3

那是一个输出重定向。这意味着flex -t lexer.l命令的输出将写入文件中lexer.c

于 2013-07-20T21:28:16.007 回答
1

我无法评论,所以我必须回答。我想解决 .l 部分,.l 文件是生成 .c 文件的 flex 的来源

>是一个输出重定向器。有关更多信息,请参阅 Miklos 的回答。

于 2013-07-20T21:32:58.490 回答