91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

贵州省| 内丘县| 麻城市| 海盐县| 兴文县| 聂拉木县| 安平县| 南汇区| 安吉县| 庆安县| 普陀区| 漳州市| 龙泉市| 鄂尔多斯市| 庐江县| 渭南市| 万全县| 沾益县| 专栏| 天水市| 宜兰县| 隆回县| 宁明县| 乌鲁木齐县| 广饶县| 金塔县| 拜城县| 巍山| 万安县| 永宁县| 安义县| 内江市| 房山区| 宣恩县| 定结县| 安宁市| 鹤山市| 莱芜市| 忻州市| 双桥区| 蓬安县|