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

推荐订阅源

云风的 BLOG
云风的 BLOG
量子位
H
Help Net Security
月光博客
月光博客
Last Week in AI
Last Week in AI
F
Fortinet All Blogs
酷 壳 – CoolShell
酷 壳 – CoolShell
The Cloudflare Blog
博客园 - Franky
The GitHub Blog
The GitHub Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
N
Netflix TechBlog - Medium
Vercel News
Vercel News
T
Tailwind CSS Blog
Stack Overflow Blog
Stack Overflow Blog
aimingoo的专栏
aimingoo的专栏
Martin Fowler
Martin Fowler
Apple Machine Learning Research
Apple Machine Learning Research
博客园 - 叶小钗
J
Java Code Geeks
IT之家
IT之家
P
Proofpoint News Feed
Y
Y Combinator Blog
Recent Announcements
Recent Announcements
小众软件
小众软件
Engineering at Meta
Engineering at Meta
U
Unit 42
F
Full Disclosure
B
Blog
The Hacker News
The Hacker News
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Simon Willison's Weblog
Simon Willison's Weblog
Microsoft Security Blog
Microsoft Security Blog
Cyberwarzone
Cyberwarzone
V
V2EX
C
CERT Recently Published Vulnerability Notes
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Spread Privacy
Spread Privacy
Jina AI
Jina AI
GbyAI
GbyAI
博客园 - 三生石上(FineUI控件)
Blog — PlanetScale
Blog — PlanetScale
Know Your Adversary
Know Your Adversary
美团技术团队
罗磊的独立博客
Scott Helme
Scott Helme
Hugging Face - Blog
Hugging Face - Blog
S
Schneier on Security
Google DeepMind News
Google DeepMind News
人人都是产品经理
人人都是产品经理

GCC

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

项目是根据

做的,源码在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风格的代码而造成的?