惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Stack Overflow Blog
Stack Overflow Blog
Y
Y Combinator Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
M
MIT News - Artificial intelligence
GbyAI
GbyAI
A
About on SuperTechFans
T
The Blog of Author Tim Ferriss
雷峰网
雷峰网
Blog — PlanetScale
Blog — PlanetScale
J
Java Code Geeks
IT之家
IT之家
Microsoft Azure Blog
Microsoft Azure Blog
V
V2EX
爱范儿
爱范儿
N
Netflix TechBlog - Medium
U
Unit 42
博客园 - 三生石上(FineUI控件)
WordPress大学
WordPress大学
博客园 - 叶小钗
G
Google Developers Blog
Jina AI
Jina AI
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
The GitHub Blog
The GitHub Blog
腾讯CDC

GCC

请问如何将 GCC 编译成一个独立的可执行文件? GDB 程序崩溃没有效代码堆栈该怎么调试?要被折磨疯了 genssource 编译过不去啊 编译器是如何识别出 ++ 而不是两个加号的?是如何识别出前缀自增和后缀自增的? 哪位大神帮忙看一下代码有什么问题 影响Gcc编译速度的瓶颈在哪?
询问一个编译原理的问题: implicit declaration of function...
EchoChan · 2015-06-19 · via GCC

项目是根据https://www.youtube.com/watch?v=__-wUHG2rfM 做的,源码在https://github.com/jengelsma/yacc-tutorial
也就是两个文件,
一个https://github.com/jengelsma/yacc-tutorial/blob/master/calc.l
一个https://github.com/jengelsma/yacc-tutorial/blob/master/calc.y
利用命令生成y.tab.c和y.tab.h以及lex.yy.c后,使用gcc lex.yy.c y.tab.c -o calc命令,出现了如下错误
calc.l:11:8: warning: implicit declaration of function 'yyerror' is invalid in
C99 [-Wimplicit-function-declaration]
{ECHO; yyerror ("unexpected character");}
^
1 warning generated.
y.tab.c:1249:16: warning: implicit declaration of function 'yylex' is invalid in
C99 [-Wimplicit-function-declaration]
yychar = YYLEX;
^
y.tab.c:605:16: note: expanded from macro 'YYLEX'
# define YYLEX yylex ()
^
calc.y:46:5: warning: implicit declaration of function 'islower' is invalid in
C99 [-Wimplicit-function-declaration]
if(islower(token)) {
^
calc.y:48:12: warning: implicit declaration of function 'isupper' is invalid in
C99 [-Wimplicit-function-declaration]
} else if(isupper(token)) {
^
3 warnings generated.
Google了一圈,按照http://stackoverflow.com/questions/27220759/linker-error-yacc-on-mac
和http://stackoverflow.com/questions/23717039/generating-a-compiler-from-lex-and-yacc-grammar的说法都没解决。请问这怎么解决?是不是因为os x 内置的GCC编译器只能生成C99风格的代码而造成的?