中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++對全局函數的處理方式是什么

發布時間:2021-11-29 16:44:42 來源:億速云 閱讀:118 作者:iii 欄目:編程語言

這篇文章主要介紹“C++對全局函數的處理方式是什么”,在日常操作中,相信很多人在C++對全局函數的處理方式是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”C++對全局函數的處理方式是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

為什么標準頭文件都有類似以下的結構?

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

那么:

#ifdef __cplusplus  extern "C" {   #endif    #ifdef __cplusplus  }  #endif


而在C語言的頭文件中,對其外部函數只能指定為extern類型,C語言中不支持extern "C"聲明,在.c文件中包含了extern "C"時會出現編譯語法錯誤。

/* c語言頭文件:cExample.h */  #ifndef C_EXAMPLE_H  #define C_EXAMPLE_H  extern int add(int x,int y);  #endif  /* c語言實現文件:cExample.c */  #include "cExample.h"  int add( int x, int y )  {   return x + y;  }  // c++實現文件,調用add:cppFile.cpp  extern "C"   {   #include "cExample.h"  }  int main(int argc, char* argv[])  {   add(2,3);    return 0;  }

在C中引用C++語言中的函數和變量時,C++的頭文件需添加extern "C",但是在C語言中不能直接引用聲明了extern "C"的該頭文件,應該僅將C文件中將C++中定義的extern "C"函數聲明為extern類型。

//C++頭文件 cppExample.h  #ifndef CPP_EXAMPLE_H  #define CPP_EXAMPLE_H  extern "C" int add( int x, int y );  #endif  //C++實現文件 cppExample.cpp  #include "cppExample.h"  int add( int x, int y )  {   return x + y;  }  /* C實現文件 cFile.c  /* 這樣會編譯出錯:#include "cExample.h" */  extern int add( int x, int y );  int main( int argc, char* argv[] )  {   add( 2, 3 );    return 0;

到此,關于“C++對全局函數的處理方式是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

c++
AI

皋兰县| 长春市| 乌兰浩特市| 阳朔县| 宽甸| 茶陵县| 清远市| 烟台市| 淮滨县| 全南县| 德钦县| 无为县| 榆中县| 上杭县| 育儿| 卢氏县| 沙田区| 沁水县| 于田县| 洪江市| 六盘水市| 贵州省| 无极县| 桓台县| 墨脱县| 江油市| 梧州市| 富阳市| 治县。| 宜州市| 福州市| 白银市| 盐亭县| 雷波县| 平湖市| 托克逊县| 信丰县| 泾源县| 湘乡市| 吉木萨尔县| 承德市|