哪吒2之魔童闹海|哪吒2之魔童归来免费观看|哪吒2在线观看|哪吒2魔童闹海电影免费观看|哪吒2免费观看完整版大电影|哪吒1免费观看完整版

新疆軟件開發(fā)

本站首頁 軟件開發(fā) 成功案例 公司新聞 公司簡介 客服中心 軟件技術 網(wǎng)站建設
  您現(xiàn)在的位置: 新疆二域軟件開發(fā)公司 >> 開發(fā)語言 >> 文章正文

如何實現(xiàn)C與C++程序的相互調用

            這個例子主要實現(xiàn)C與C++的相互調用問題
c.h的實現(xiàn)
#ifndef _c_h_
#define _c_h_
#ifdef __cplusplus
extern "C" {
#endif
void C_fun();
#ifdef __cplusplus
}
#endif
#endif
c.c的實現(xiàn)
#include "c.h"
void C_fun()
{
}

在擦cpp.cpp中調用c.c中的C_test()
cpp.cpp的實現(xiàn)
#include "c.h"
int main()
{
     C_fun()
}
其中__cplusplus是C++編譯器的保留宏定義.就是說C++編譯器認為這個宏已經(jīng)定義了.
所以關鍵是extern "C" {} 
extern "C"是告訴C++編譯器件括號里的東東是按照C的obj文件格式編譯的,要連接的話按照C的命名規(guī)則去找.
那么C中是如何調用C++中的函數(shù)cpp_fun()呢?
因為現(xiàn)有C后有C++, 所以只能從C++的代碼中考慮了.
加入C++中的函數(shù)或變量有可能被C中的文件掉用,則應該這樣寫,也是用extern "C"{}
不過是代碼中要加,頭文件也要加,因為可能是C++中也調用

cpp.h的實現(xiàn)
#ifndef _c_h_
#define _c_h_
#ifdef __cplusplus
extern "C" {
#endif
void CPP_fun();
#ifdef __cplusplus
}
#endif
#endif

Cpp.cpp的實現(xiàn)
extern "C" {    //告訴C+++編譯器,擴號里按照C的命名規(guī)則編譯
void CPP_fun()
{
     .....

作者:未知 | 文章來源:未知 | 更新時間:2008-1-19 18:32:33

  • 上一篇文章:

  • 下一篇文章:

  • 相關文章:
    C++基礎知識:結構體數(shù)據(jù)的指針變量
    在C++中成員函數(shù)如何實現(xiàn)操作符重載?
    基礎學習:C++非成員函數(shù)實現(xiàn)操作符重載
    基礎學習:C++重載輸入輸出符
    基礎學習:C++重載下標結算符
    基礎學習:C++中重載調用操作符
    基礎學習:C++重載轉換操作符operator (type)
    C++類復制控制學習
    C++類析構函數(shù)學習
    C++類構造函數(shù)學習
    軟件技術
    · 開發(fā)語言
    · Java技術
    · .Net技術
    · 數(shù)據(jù)庫開發(fā)
    最新文章  
    ·搜集整理的asp.net的驗證方
    ·各種FOR循環(huán)結構的整理
    ·軟件項目開發(fā)中應該考慮那
    ·搜集整理的javascript sel
    ·軟件開發(fā)中項目經(jīng)理有那些
    ·學習如何在Lambda表達式進
    ·C++基礎知識:結構體數(shù)據(jù)的
    ·C#實現(xiàn)短信發(fā)送程序的例子
    ·sun最近修補了一部分java的
    ·rss定制的另外一種實現(xiàn)方式
    ·delphi實現(xiàn)利用arp欺騙來實
    ·基礎學習:基于WF的流程框
    ·網(wǎng)絡編程中怎樣得知一次數(shù)
    ·如何逆序輸出單鏈表?
    ·軟件開發(fā)過程中的性能設計
    關于我們 | 軟件開發(fā) | 下載試用 | 客服中心 | 聯(lián)系我們 | 友情鏈接 | 網(wǎng)站地圖 | 新疆電子地圖 | RSS訂閱
    版權所有 © 2016 新疆二域軟件開發(fā)網(wǎng) www.pg11qqq.com All Rights Reserved 新ICP備14003571號
    新疆軟件開發(fā)總機:0991-4842803、4811639.
    客服QQ:596589785 ;地址:新疆烏魯木齊北京中路華聯(lián)大廈A-5C 郵編:830000