很奇怪,以前一直以为C++是兼容C的,但是,今天用lex&yacc生成的C代码可用通过GCC的编译,
但是怎么都通不过G++的编译,而其错误很多,有可能是lex&yacc生成的C代码太老了,,,
我是这样解决的
把lex&yacc生成的代码 用 GCC -c 编译成 lex.o 的目标文件。然后 g++ main.cpp lex.o ,就OK了
记得: 在 main.cpp 中用 extern “C” 标明这个函数是来自C编译器的目标函数
extern "C" void show();