随笔:C\C++混用害死人(二)

随笔:C\C++混用害死人(二)


    看看下面代码有啥错误:

    A File

extern   int  LoacalFunc( void );

extern   void  ExternFunc( void );

    B File
#include  " A File "

int  LocalFunc( void )
{
    ExternFunc();

    
return 0;
}

    C File

void  ExternFunc( void )
{
}

    一个工程中的三个文件,从代码开没有什么问题,编译通过,但链接就出错了。
error LNK2019: unresolved external symbol _ExternFunc referenced  in  function _LocalFunc

    我找啊找,试啊试,压缩代码就剩上面几句,还是出错~人疯了,完全静不下来,都想重写1000+行的代码了。最后强迫自己离开位置,出去换换脑子,于是就开始想LingosHook,突然想起,不对啊,上班写的是C程序啊,‘C Fle’的后缀用'.cpp',VC编译器当然就无法链接后缀是'.c'的B File了!
    于是跑回去把C File由c.cpp改为c.c, 一切正常。。。。
     唉,又被搞死了。。。写代码时一定要保持清醒的头脑,C和C++不了什么形式都不要混用,很危险的,一个后缀都会出来害人的。。

你可能感兴趣的:(随笔:C\C++混用害死人(二))