expected '=', ',', ';', 'asm' or '__attribute__' before expected ')' before
今天使用avr-gcc 4.3.3编译程序出现一系列以上error,研究了半天都毫无所获。这似乎是gcc下比较容易遇到的问题,以前也遇到过这种情况,但都没有记录、整理,所以今天遇到的时候又手足无措了。
经过在网上的疯狂搜索和结合自己程序的情况,我发现这是可能由多种原因引起的、比较模糊的错误提示,其所指示的错误位置也一般都不正确。
错误提示看上去像是缺少某些符号引起的语法错误,然而实际上由未正确包含头文件引起的可能性比较大。在我的程序中仅仅是由于在C文件中先包含了本文件所对应的头文件,或包含了所依赖的库文件造成的。在网上搜索的结果中也不乏头文件循环包含或根本未包含需要的头文件的原因。
这次吃一堑长一智,写一个文章记录一下并于大家分享。个人认为,这种问题可以通过书写程序时的良好习惯加以避免。当然,对于这一问题,我还是没有找到十分详尽的原因分析,自己也只是就自身的情况做一记录,还希望对此有更多体会和研究的前辈指点。
【2014/05/03】 今天发现如果在声明一个结构体类型(而非定义结构体类型的变量)时错误的对成员进行初始化,也会导致类似的错误出现。