亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

灯塔市| 清原| 皮山县| 乌拉特前旗| 哈密市| 布尔津县| 馆陶县| 体育| 赤水市| 金乡县| 高邮市| 珲春市| 屏东市| 南漳县| 栾城县| 聂荣县| 桐庐县| 长沙市| 花莲市| 东丽区| 无棣县| 吴川市| 嘉峪关市| 富阳市| 邓州市| 雅安市| 拉孜县| 兴和县| 乌拉特后旗| 罗江县| 广汉市| 吉安市| 稷山县| 梨树县| 收藏| 塔城市| 读书| 贵州省| 张家港市| 福海县| 茂名市|