加入星計劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
    • 12.3  在C++中使用C頭文件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

混合使用C、C++和匯編語之:在C++中使用C頭文件

2013/09/30
閱讀需 5 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

12.3  在C++中使用C頭文件

本節(jié)描述如何在C++代碼中使用C頭文件。從C++調(diào)用C頭文件之前,C頭文件必須包含在extern "C"命令中。本節(jié)包含以下兩部分內(nèi)容:

·  在C++中使用系統(tǒng)的C頭文件;

·  在C++中使用自定義的C頭文件。

12.3.1  在C++中使用系統(tǒng)C頭文件

要包括標(biāo)準(zhǔn)的系統(tǒng) C 頭文件,如 stdio.h,不必進(jìn)行任何特殊操作。只有使用extern "C" 命令,由編譯器自動包含標(biāo)準(zhǔn) C 頭文件。例如:

#include <stdio.h>

int main()

{

     ...     // C++ 代碼

     return 0;

}

如果使用此語法包含頭文件,則所有庫名都放在全局命名空間中。

C++標(biāo)準(zhǔn)規(guī)定可以通過特定的C++頭文件獲取C頭文件。這些文件與標(biāo)準(zhǔn)C頭文件一起安裝在install_directoryRVCTData2.0build_num include platform目錄下,可以用常規(guī)方法進(jìn)行引用。例如:

#include <cstdio>

int main()

{

    ...     // C++ 代碼

    return 0;

}

在ARM C++中,這些頭文件中包含(#include)C頭文件。如果使用此語法包含頭文件,則所有C++標(biāo)準(zhǔn)庫名都在命名空間std中定義,包括C庫名。這意味著必須使用下列方法之一來限定所有的庫名稱。

·  指定標(biāo)準(zhǔn)命名空間,例如:

std::printf("examplen");

·  使用C++關(guān)鍵字“using”向全局命名空間輸入一個名稱:

using namespace std;

printf("examplen");

·  使用編譯程序選項 --using_std。

12.3.2  在C++中使用自定義的C頭文件

要包含自己的C頭文件,用戶必須將#include命令包在extern "C"語句中??梢杂靡韵路椒ㄍ瓿纱瞬僮鳎?/p>

① 在#include文件之前使用extern,如下例所示。

// C++ code

extern "C" {

#include "my-header1.h"

#include "my-header2.h"

}

int main()

{

     // ...

     return 0;

}

·  將extern "C"語句添加到頭文件,如下例所示。

/* C header file */

#ifdef __cplusplus    /* Insert start of extern C construct */

extern "C" {

#endif

/* Body of header file */

#ifdef __cplusplus  /* Insert end of extern C construct */

}                   /* The C header file can now be */

#endif              /* included in either C or C++ code. */

Arm

Arm

ARM公司是一家知識產(chǎn)權(quán)(IP)供應(yīng)商,主要為國際上其他的電子公司提供高性能RISC處理器、外設(shè)和系統(tǒng)芯片技術(shù)授權(quán)。目前,ARM公司的處理器內(nèi)核已經(jīng)成為便攜通訊、手持計算設(shè)備、多媒體數(shù)字消費品等方案的RISC標(biāo)準(zhǔn)。公司1990年11月由Acorn、Apple和VLSI合并而成。

ARM公司是一家知識產(chǎn)權(quán)(IP)供應(yīng)商,主要為國際上其他的電子公司提供高性能RISC處理器、外設(shè)和系統(tǒng)芯片技術(shù)授權(quán)。目前,ARM公司的處理器內(nèi)核已經(jīng)成為便攜通訊、手持計算設(shè)備、多媒體數(shù)字消費品等方案的RISC標(biāo)準(zhǔn)。公司1990年11月由Acorn、Apple和VLSI合并而成。收起

查看更多

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

華清遠(yuǎn)見(www.farsight.com.cn)是國內(nèi)領(lǐng)先嵌入師培訓(xùn)機(jī)構(gòu),2004年注冊于中國北京海淀高科技園區(qū),除北京總部外,上海、深圳、成都、南京、武漢、西安、廣州均有直營分公司。華清遠(yuǎn)見除提供嵌入式相關(guān)的長期就業(yè)培訓(xùn)、短期高端培訓(xùn)、師資培訓(xùn)及企業(yè)員工內(nèi)訓(xùn)等業(yè)務(wù)外,其下屬研發(fā)中心還負(fù)責(zé)嵌入式、Android及物聯(lián)網(wǎng)方向的教學(xué)實驗平臺的研發(fā)及培訓(xùn)教材的出版,截止目前為止已公開出版70余本嵌入式/移動開發(fā)/物聯(lián)網(wǎng)相關(guān)圖書。企業(yè)理念:專業(yè)始于專注 卓識源于遠(yuǎn)見。企業(yè)價值觀:做良心教育、做專業(yè)教育,更要做受人尊敬的職業(yè)教育。