美文网首页
c和c++混编注意事项

c和c++混编注意事项

作者: liqifyl | 来源:发表于2018-06-21 18:03 被阅读0次

    1、c的编译器与c++编译器生成函数签名机制不同,所以在cpp文件中引用c语言的函数需要加

    extern C{

        *****

    }

     来告诉c++编译器 extern c里面代码是c风格的代码,需要按照 c 语言函数签名机制查找引用的函数,否则会提示 undefined reference to `function()` 错误

    2、c++函数签名机制请阅读 

    https://www.cnblogs.com/wfwenchao/articles/4140388.html  博客

    3、注意 在 c或者c++中出现 undefined reference to 错误我遇到有2种情况

            1)c与c++混编

            2) 函数对应的源文件没有编译到库文件中

            3)linux 或者 mac上可以通过 objdump -t ****.so | grep "symbol"来查询某个函数是否编译到so文件中

    相关文章

      网友评论

          本文标题:c和c++混编注意事项

          本文链接:https://www.haomeiwen.com/subject/mlscyftx.html