1. 程式人生 > >#ifdef __cplusplus extern "C" { #endif /*...*/ #ifdef __cplusplus } #endif含義

#ifdef __cplusplus extern "C" { #endif /*...*/ #ifdef __cplusplus } #endif含義

auto lin ext alt -i c語言函數 padding ESS pla

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

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

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

總結:就是當是用C++編譯的時候,extern "C"裏面的東西還是按照C的方式來編譯。

#ifdef __cplusplus extern "C" { #endif /*...*/ #ifdef __cplusplus } #endif含義