本文,記錄Linux開發環境下,C和C++實作混合編譯,涉及具體做法、原理。
參考文章:
- Mixing C and C++ Code in the Same ProgramMixing C and C++ Code in the Same Program ,連結
- How to mix C and C++,連結
主要差別(針對mix):
- C編譯識别函數:函數名;C++編譯識别函數:函數名+參數;是以,需要解決C++重載特性。
C++源碼通路C代碼,關鍵點:
- 聲明連結規範:由C++語言提供,允許嵌套連結規範。extern
- 在C++代碼中包含C頭檔案:頭檔案需要具有連結規範。extern
- 讓header.h同時适應C和C++編譯器,進而建立混合語言标題。#ifdef __cplusplus