extern "C" 含義


 extern "C"

  • 被 extern 限定的函數或變量是 extern 類型的
  • 被 extern "C" 修飾的變量和函數是按照 C 語言方式編譯和鏈接的
  • extern "C" 的作用是讓 C++ 編譯器將 extern "C" 聲明的代碼當作 C 語言代碼處理,可以避免 C++ 因符號修飾導致代碼不能和C語言庫中的符號進行鏈接的問題。

在項目代碼中看見這段代碼:

#ifndef __XXX_H__
#define __XXX_H__
#ifdef __cplusplus extern "C" { #endif
/*...*/
#ifdef __cplusplus }; #endif

=================================================================

#ifdef __cplusplus //c++編譯環境中才會定義__cplusplus (plus就是"+"的意思)
extern "C" {       //告訴編譯器下面的函數是c語言函數(因為c++和c語言對函數的編譯轉換不一樣,主要是c++中存在重載)
#endif

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM