天天看點

[Linux]How to mix C and C++ 混合編譯

本文,記錄Linux開發環境下,C和C++實作混合編譯,涉及具體做法、原理。
           

參考文章:

  1. Mixing C and C++ Code in the Same ProgramMixing C and C++ Code in the Same Program ,連結
  2. How to mix C and C++,連結

主要差別(針對mix):

  1. C編譯識别函數:函數名;C++編譯識别函數:函數名+參數;是以,需要解決C++重載特性。

C++源碼通路C代碼,關鍵點:

  1. 聲明連結規範:由C++語言提供,允許嵌套連結規範。extern
  2. 在C++代碼中包含C頭檔案:頭檔案需要具有連結規範。extern
  3. 讓header.h同時适應C和C++編譯器,進而建立混合語言标題。#ifdef __cplusplus