lib-opengb-cid
Github: lib-opengb-cid
Github: lib-opengb-cid
啊,看来你也遇到了“conflicting types”——类型冲突编译错误。
如果你不是遇到:
循环引用而没有用宏定义来解决。
声明或定义在调用后面。
声明和定义冲突。
.h.gch
未更新。
那么我想告诉你,你可跟我一样忘了C
语言不支持“函数重载”,即你的函数名不能重复。
所以不是你的类型声明(typedef
)冲突了,而是函数名冲突了。
1 | $ mingw32-make.exe test-program |
-std=c99
这个参数是我后加上去。我注意到stdbool.h
中bool
最终指向_Bool
,一想C
语言之前好像没这个东西,就查了一下,是C99
标准中才支持的,所以就加上了,但是错误并不是在这里。
我甚至多次注意到他说的类型冲突所指向的是函数名,甚至有一次开始想“好像C语言是不是不支持函数重名?”,但是直接否定了,然后兜了一圈回来,才查了一下。这才确定了我C
语言白学了啊。
最近好几个C
语言项目编译不通过大概就是因为这个。
(这个口诀是我们兴趣班老师想出来的。)
(优先级自上而下递减;由逗号分隔的,优先级自左到右递减。)
圆方括号,箭头句号。
单目增减非反负,针强址长,从右。
乘除求模,加减,位移,大小,等不等。
位与异或,逻辑与或。
条件赋值均右。
真逗。
(斜体字是补全;加粗字是对整行的说明;代码块
即是所对应操作符。)
圆括号()
方括号[]
箭头->
句号.
单目运算符 自增++
自减--
非!
取反~
负号-
指针*
强制转换(类型)
取址&
长sizeof()
从右结合
乘*
除/
求模%
加+
减-
位移<< >>
大小> < >= <=
等==
不等!=
位与&
异^
或|
逻辑与&&
或||
条件?:
赋值= += -= *= /= %= &= ^= |= <<= >>=
均从右结合
真逗号,
欢迎来到橘皮咖啡馆,我是橘子·233。先找个座位坐下来。没有找到?那就自己办一个板凳过来。先不管板凳的事,这里提供免费的“咖啡”,廉价的绿茶和牛奶以及一堆吃剩下的(免费的)橘子皮。搅一搅就是橘皮咖啡奶绿。哦,那为什么这里叫咖啡馆?自己猜去(没得原因)。
本人半吊于程序设计、运维、绘画、做白日梦等多种领域,是个大号杂吊子(自问:“你有什么好自豪的?”)。会点儿3C(C、C++、C++++)语言,当然充满语法糖的C++++是最好学的。不得不用,死于各种弱类型脚本语言。画画靠猜。运维,3年不会动,一动修3年(不要动,让它们自己飞)。
总之就是这样。欸?!你别跑啊,别跑啊——
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
1 | $ hexo new "My New Post" |
More info: Writing
1 | $ hexo server |
More info: Server
1 | $ hexo generate |
More info: Generating
1 | $ hexo deploy |
More info: Deployment