zoukankan      html  css  js  c++  java
  • extern “C”

    http://www.cnblogs.com/yc_sunniwell/archive/2010/07/14/1777431.html

    问题:extern “C”
      在C++环境下使用C函数的时候,常常会出现编译器无法找到obj模块中的C函数定义,从而导致链接失败的情况,应该如何解决这种情况呢?

      答案与分析:
      C++语言在编译的时候为了解决函数的多态问题,会将函数名和参数联合起来生成一个中间的函数名称,而C语言则不会,因此会造成链接时找不到对应函数的情况,此时C函数就需要用extern “C”进行链接指定,这告诉编译器,请保持我的名称,不要给我生成用于链接的中间函数名。
      下面是一个标准的写法:
    //在.h文件的头上
    #ifdef __cplusplus
    #if __cplusplus
    extern "C"{
     #endif
     #endif /* __cplusplus */ 
     …
     …
     //.h文件结束的地方
     #ifdef __cplusplus
     #if __cplusplus
    }
    #endif
    #endif /* __cplusplus */ 

  • 相关阅读:
    android slidingview
    关于打工
    android开发基本流程
    android and javascript
    android listview and scrollview
    google收购的公司
    android反编译
    android资料
    colors
    【读书笔记】-- 文本可视化研究综述
  • 原文地址:https://www.cnblogs.com/feng9exe/p/6678301.html
Copyright © 2011-2022 走看看