国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

在C中引用C++語言中的函數和變量

開發 后端
經過長時間學習引用C++語言,于是和大家分享一下,看完本文你肯定有不少收獲,希望本文能教會你更多東西。學習引用C++語言時,你可能會遇到引用C++語言問題,這里將介紹XX問題的解決方法,在這里拿出來和大家分享一下。

引用C++語言的頭文件需添加extern "C",但是在C語言中不能直接引用聲明了extern "C"的該頭文件,應該僅將C文件中將C++中定義的extern "C"函數聲明為extern類型,希望本文能教會你更多東西。

實際上,在連接階段,連接器會從模塊A生成的目標文件moduleA.obj中尋找_foo_int_int這樣的符號!加extern "C"聲明后的編譯和連接方式加extern "C"聲明后,模塊A的頭文件變為:

  1. // 模塊A頭文件 moduleA.h  
  2. #ifndef MODULE_A_H  
  3. #define MODULE_A_H  
  4. extern "C" int foo( int x, int y );  
  5. #endif 

在模塊B的實現文件中仍然調用foo( 2,3 ),其結果是:
(1)模塊A編譯生成foo的目標代碼時,沒有對其名字進行特殊處理,引用C++語言的方式;
(2)連接器在為模塊B的目標代碼尋找foo(2,3)調用時,尋找的是未經修改的符號名_foo。如果在模塊A中函數聲明了foo為extern "C"類型,而模塊B中包含的是extern int foo( int x, int y ) ,則模塊B找不到模塊A中的函數;反之亦然。

所以,可以用一句話概括extern “C”這個聲明的真實目的(任何語言中的任何語法特性的誕生都不是隨意而為的,來源于真實世界的需求驅動。我們在思考問題時,不能只停留在這個語言是怎么做的,還要問一問它為什么要這么做,動機是什么,這樣我們可以更深入地理解許多問題): #t#

實現C++與C及其它語言的混合編程。明白了C++中extern "C"的設立動機,我們下面來具體分析extern "C"通常的使用技巧。
.extern "C"的慣用法
(1)在C++中引用C語言中的函數和變量,在包含C語言頭文件(假設為cExample.h)時,需進行下列處理:

  1. extern "C"  
  2. {  
  3. #include "cExample.h"  

而在C語言的頭文件中,對其外部函數只能指定為extern類型,引用C++語言中不支持extern "C"聲明,在.c文件中包含了extern "C"時會出現編譯語法錯誤。筆者編寫的C++引用C函數例子工程中包含的三個文件的源代碼如下:

  1. /* c語言頭文件:cExample.h */  
  2. #ifndef C_EXAMPLE_H  
  3. #define C_EXAMPLE_H  
  4. extern int add(int x,int y);  
  5. #endif  
  6. /* c語言實現文件:cExample.c */  
  7. #include "cExample.h"  
  8. int add( int x, int y )  
  9. {  
  10.  return x + y;  
  11. }  
  12. // c++實現文件,調用add:cppFile.cpp  
  13. extern "C"   
  14. {  
  15.  #include "cExample.h"  
  16. }  
  17. int main(int argc, char* argv[])  
  18. {  
  19.  add(2,3);   
  20.  return 0;  

如果C++調用一個C語言編寫的.DLL時,當包括.DLL的頭文件或聲明接口函數時,應加extern "C" { }。(2)在C中引用C++語言中的函數和變量時,C++的頭文件需添加extern "C",但是在C語言中不能直接引用聲明了extern "C"的該頭文件,應該僅將C文件中將C++中定義的extern "C"函數聲明為extern類型。

責任編輯:chenqingxiang 來源: 博客園
相關推薦

2010-01-25 17:05:37

C++語言

2010-01-18 13:54:28

函數

2011-12-25 15:35:05

ibmdwJavaC++

2010-01-15 19:17:48

C++語言

2024-01-09 09:23:12

指針C++

2023-11-22 13:22:51

C++函數

2010-01-21 15:48:38

C++語言

2025-09-25 17:17:06

GoC++指針

2024-01-18 10:27:30

C++引用函數

2010-01-25 10:25:19

C++變量

2011-03-30 11:01:13

C語言隨機

2023-12-29 08:27:36

C語言靜態變量開發

2010-01-26 10:42:26

C++函數

2010-01-27 17:16:52

C++構造函數

2010-01-28 11:08:09

C++變量

2011-07-20 15:58:53

C++引用

2010-01-19 13:43:59

C++函數

2024-01-05 08:31:08

C語言

2010-01-26 15:51:06

C++變量

2022-07-26 00:36:06

C#C++函數
點贊
收藏

51CTO技術棧公眾號

操一操视频一区| 欧美成人午夜激情| 一级全黄肉体裸体全过程| 欧美日韩国产网站| 国产精品国模大尺度视频| 日韩美女主播视频| 毛片在线网址| 亚洲曰韩产成在线| 男人添女荫道口喷水视频| 91成人精品视频| 欧美日韩国产二区| 日本资源在线| 精品日韩中文字幕| 国产最新免费视频| 男女男精品视频网| 成人羞羞国产免费| 麻豆精品99| 中文精品99久久国产香蕉| 国产高清一区在线观看| 中文字幕一区二区在线观看 | 久久久91精品国产一区不卡| 久久aimee| 欧美裸体一区二区三区| 久久久久久久久国产| а√天堂中文在线资源8| 91福利在线播放| 亚洲男男gay视频| 欧美国产欧美亚州国产日韩mv天天看完整| 一区二区在线中文字幕电影视频 | 欧美午夜精品伦理| 99视频高清| 99麻豆久久久国产精品免费| 亚洲日本精品一区| 久久综合图片| 欧美日韩精品免费观看| 欧美国产高潮xxxx1819| 国产精品久久久久久av| 国产亚洲精品美女久久| 久久不射热爱视频精品| 欧美日韩va| 日韩在线视频网站| 超碰成人av| 亚洲毛片在线观看| 亚洲美女尤物影院| 日韩精品中文字幕在线观看| 暧暧视频在线免费观看| 51久久精品夜色国产麻豆| 亚洲视频中文字幕| 日本视频一区二区不卡| 亚洲精品影视| 国产美女99p| 9国产精品视频| 国产精品视频免费观看| 激情五月***国产精品| 国产日韩精品推荐| 免费看亚洲片| 亚洲人成77777| 国产成人午夜电影网| 日本不卡的三区四区五区| 17c丨国产丨精品视频| 加勒比一区二区三区在线| 色狠狠综合天天综合综合| 97视频在线观看视频免费视频| 亚洲精品在线a| 欧美日韩国产123| 国产一区二区在线观| 91丨九色丨国产在线| 日韩精品在线免费| 一区二区不卡在线播放| 精品91在线| h精品动漫在线观看| 欧美三级日本三级少妇99| 色视频在线看| 天天干天天玩天天操| 国产一区二区三区日韩| 婷婷丁香激情网| 亚洲综合免费观看高清完整版| 香蕉视频免费在线| 日韩成人在线观看| 国产影视精品一区二区三区| 欧美极品一区二区| 亚洲欧洲国产专区| aaa在线播放视频| 国产精品久久久久久久久久久久久久| 成人国产精品一级毛片视频| 久久波多野结衣| 国产调教视频一区| 国产精品va视频| 久久夜精品va视频免费观看| 日本高清不卡一区二区三区视频| 国产目拍亚洲精品99久久精品| 91午夜国产| 国内精品在线一区| 日韩欧美激情一区| 久久999免费视频| 成功精品影院| 久久综合一区| 国产亚洲短视频| 久久国产精品高清一区二区三区| 日韩精品小视频| 残酷重口调教一区二区| 亚洲福利av| 欧美图片激情小说| 88xx成人精品| 亚洲欧洲日韩国产| 欧美一区日韩一区| 在线成人黄色| 午夜电影福利| 欧美日韩国产综合草草| 日本在线免费看| 亚洲男人在线| 日韩一区二区三区四区五区| 狠狠v欧美ⅴ日韩v亚洲v大胸| av在线亚洲男人的天堂| 国产一区视频在线观看免费| 你懂的好爽在线观看| 亚洲成人av一区二区| 欧美日韩电影免费看| 99re在线观看| 1024成人网| 国精品产品一区| 欧美日韩综合网| 亚洲成人中文在线| 动漫一区二区三区| 亚洲图色在线| 欧美体内she精视频| 伊人久久大香线蕉| 日韩免费毛片视频| 亚洲视频欧洲视频| 视频一区中文字幕国产| 国产日韩av网站| 久在线观看视频| 性色av香蕉一区二区| 国产精品夜夜夜一区二区三区尤| 99精品在线观看视频| 成人在线app| 91久久精品视频| 亚洲人xxxx| av一级久久| 国产精品igao激情视频| 欧美精品日韩精品| 在线看国产精品| 欧美久久亚洲| 美女喷白浆视频| 久久国产精品网| 成人黄色影视| 黄色一级一级片| 91国视频在线| 女人另类性混交zo| 亚洲精品一区二| 久久久免费电影| 国产成人精品网站| 亚洲18女电影在线观看| 成人av电影免费观看| 国产在线看一区| 亚洲第一网站| 激情六月综合| 亚洲色图国产| 日韩一区三区| 日本视频中文字幕一区二区三区| 国产成人亚洲综合a∨猫咪| 日本欧美一区二区三区| 天堂在线精品| 亚洲乱码精品| 麻豆精品视频在线观看视频| av一区二区不卡| 精品国产精品自拍| 欧美日韩亚洲综合在线| 3d动漫精品啪啪| 一区二区三区欧美亚洲| 欧美视频精品在线观看| 日韩在线欧美在线| 日韩一区二区三区xxxx| 91久久香蕉国产日韩欧美9色| 日韩小视频在线观看专区| 日韩av最新在线观看| 国产成人一区三区| 成人18网址在线观看| 久久亚洲影音av资源网 | aaa大片在线观看| 国产三级一区| 久久一区二区三区电影| 亚洲永久免费| 日韩欧美在线观看视频| 国产一区视频在线播放| 91精品久久久久久久久久久| 亚洲 日韩 国产第一| 91精品在线看| 亚洲国产午夜伦理片大全在线观看网站 | av电影在线地址| 久久日本片精品aaaaa国产| a日韩av网址| 久久精品30| 国产欧美精品一区二区三区四区| 色欧美片视频在线观看| 91综合久久| 亚洲h片在线看| 国产男女在线观看| 国产精品美女午夜av| 欧美亚洲一区二区三区四区|