linux下c和c++互相調用


c調用cpp

創建個目錄 創建4個文件 c.c--c文件 cpp.cpp--c++文件 cpp.hh--c++聲明文件 Makefile

c.c

[javascript] view plaincopy
  1. #include?"cpp.hh"??
  2. ??
  3. int?main()??
  4. {??
  5. ????cpp_fun();??
  6. }??

cpp.cpp

[cpp] view plaincopy
  1. #include?"cpp.hh"??
  2. #include?<stdio.h>??
  3. ??
  4. #ifdef?__cplusplus??
  5. extern?"C"??
  6. {??
  7. #endif??
  8. ??
  9. void?cpp_fun()??
  10. {??
  11. ????printf("cpp_fun\n");??
  12. }??
  13. ??
  14. #ifdef?__cplusplus??
  15. }??
  16. #endif??

cpp.hh

[cpp] view plaincopy
  1. #ifdef?__cplusplus??
  2. extern?"C"?{??
  3. #endif??
  4. ??
  5. void?cpp_fun();??
  6. ??
  7. #ifdef?__cplusplus??
  8. }??
  9. #endif??

Makefile

[cpp] view plaincopy
  1. #???c??調用???cpp?????函數??
  2. c:??
  3. ????gcc?-c?*.c??
  4. ????g++?-c?*.cpp??
  5. ????gcc?-o?c_test?*.o?-lstdc++??
  6. #???g++?-o?c_test?*.o??
  7. ??
  8. clean:??
  9. ????rm?*.o?c_test??


make?一下 運行./c_test

執行顯示如下:

[cpp] view plaincopy
  1. cpp_fun??

這里Makefile中用g++ -o c_test *.o也可以編譯成功 用gcc需要指定包含c++標準庫libstdc++.so
make clean?清除

?^_?^_?^_?^_?^_?^_?^_?^_?^_?^_?^_?^_?^_?^_?^_?^_?^_?^_?^_?^_?^_?^_?^_?^_?^_?^_?^_?^_?^_?^_?^_?^_?^_?^_?^_?^_?^_?^_?^_?^_?^_?^_?^_?^_?^_?^_?^_?^_?^_?^_?^_?^_?^_?^_?^_?^_?^_?^_?^

c++調用c

創建個目錄 創建4個文件 c.c--c文件 cpp.cpp--c++文件 c.h--c聲明文件 Makefile

c.c

[cpp] view plaincopy
  1. #include?"c.h"??
  2. #include?<stdio.h>??
  3. ??
  4. void?c_fun()??
  5. {??
  6. ????printf("c_fun\n");??
  7. }??

c.h

[cpp] view plaincopy
  1. void?c_fun();??

cpp.cpp

[cpp] view plaincopy
  1. extern?"C"{??
  2. #include?"c.h"??
  3. };??
  4. ??
  5. int?main()??
  6. {??
  7. ????c_fun();??
  8. ????return?0;??
  9. }??

Makefile

[cpp] view plaincopy
  1. #???cpp??調用?c???函數??
  2. cpp:??
  3. ????gcc?-c?*.c??
  4. ????g++?-c?*.cpp??
  5. ????g++?-o?cpp_test?*.o??
  6. ??
  7. clean:??
  8. ????rm?*.o?cpp_test??

make一下 然后執行./cpp_test

執行顯示結果如下:

[cpp] view plaincopy
  1. c_fun??

make clean 清除

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/253015.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/253015.shtml
英文地址,請注明出處:http://en.pswp.cn/news/253015.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Applications Manager Docker監控

Docker 是一個流行的開源容器應用程序&#xff0c;允許您將應用程序、應用程序的內部依賴和關聯庫打包到一個單元中。Docker 的主要優點在于單臺機器上的多個 docker 容器共享同一操作系統內核&#xff0c;這可以幫助提升性能和節省大量內存。監控 docker 容器會很困難&#xf…

find

Linux中find常見用法示例 find path -option [ -print ] [ -exec -ok command ] {} \; find命令的參數&#xff1b; pathname: find命令所查找的目錄路徑。例如用.來表示當前目錄&#xff0c;用/來表示系統根目錄。-print&#xff1a; find命令將匹配的文件輸出…

PHP將多個文件中的內容合并為新的文件

function test(){$hostdir iconv("utf-8","gbk","C:\Users\原萬里\Desktop\日常筆記") ; //iconv()轉換編碼方式&#xff0c;將UTF-8轉換為gbk&#xff0c;若是報錯在gbk后加//IGNORE$filesnames scandir($hostdir); …

HTTP Live Streaming直播(iOS直播)技術分析與實現

不經意間發現&#xff0c;大半年沒寫博客了&#xff0c;自覺汗顏。實則2012后半年&#xff0c;家中的事一樣接著一樣發生&#xff0c;實在是沒有時間。快過年了&#xff0c;總算忙里偷閑&#xff0c;把最近的一些技術成果&#xff0c;總結成了文章&#xff0c;與大家分享。 前些…

中文論文格式【雜】

轉自知乎&#xff0c;https://www.zhihu.com/question/23791742/answer/344752056 【紙張】畢業論文一律打印&#xff0c;采取A4紙張&#xff0c;頁邊距一律采取&#xff1a;上、下2.5cm&#xff0c;左3cm,右1.5cm&#xff0c;行間距取多倍行距(設置值為1.25);字符間距為默認值…

jmeter 非gui 模式跑jmx

D:\study\apache-jmeter-3.0\bin>jmeter -n -t D:\study\apache-jmeter-3.0\基金排行.jmx -l D:\study\apache-jmeter-3.0\result_log\獲取基金排行.jtl D:\study\apache-jmeter-3.2\bin>jmeter -n -t D:\study\apache-jmeter-3.2\bin\examples\test\百度新聞首頁.jmx -l…

noip模擬賽 遭遇

分析&#xff1a;暴力挺好打的&#xff0c;對于前30%的數據神搜&#xff0c;hi相同的數據將所有的建筑按照c從小到大排序&#xff0c;看最多能跳多少,ci0的數據將所有的建筑按照h從小到大排序&#xff0c;枚舉起點和終點&#xff0c;看能否跳這么多,取個max就可以了.這樣70分就…

揭開全景相機創業真相:國外一開源國內就自主

今年以來全景相機有了一個大爆發&#xff0c;國外Google、三星、諾基亞等大廠都進入了這個領域&#xff0c;國內也有很多廠商推出了全景相機。 Bubl全景相機國外一開源&#xff0c;國內就自主。這在VR&#xff08;虛擬現實&#xff09;領域體現的淋漓盡致——Google的Cardborad…

福大軟工1816 · 團隊現場編程實戰(抽獎系統)

值得一看的補充版本演示視頻 軟工錦鯉在這里程序版本鏈接及說明 按時提交版本 以基礎功能為主github鏈接&#xff1a;first version測試環境說明 本程序在python 3.6以上環境下運行操作說明&#xff1a; 鍵入抽獎關鍵詞&#xff0c;支持&#xff1a;#我要紅包#或“我要換組“或…

LeakCanary——直白的展現Android中的內存泄露

之前碰到的OOM問題&#xff0c;終于很直白的呈現在我的眼前&#xff1a;我嘗試了MAT&#xff0c;但是發現不怎么會用。直到今天終于發現了這個新工具&#xff1a; 當我們的App中存在內存泄露時會在通知欄彈出通知&#xff1a; 當點擊該通知時&#xff0c;會跳轉到具體的頁面&am…

老司機做VR視頻,需要什么樣的全景相機?

做為一個在全景內容領域摸爬滾打一年有余的老司機&#xff0c;經歷了太多的坑。最近有不少朋友轉行進入這個領域&#xff0c;問我買什么樣的相機好。我現在項目太多&#xff0c;根本沒空詳盡解答。所以寫下這篇文章&#xff0c;不懂得自己看吧。 說白了&#xff0c;買什么樣子…

域乎曹勝虎:傳統互聯網“生病”了

11月17日&#xff0c;2018&#xff08;第12屆&#xff09;創業周暨全球創業周中國站在上海盛大召開&#xff0c;由上海域乎信息技術有限公司&#xff08;以下簡稱“域乎”&#xff09;承辦的區塊鏈專場論壇——《區塊鏈產業應用賦能精英論壇》成功舉辦&#xff0c;吸引了眾多業…

xml的方式配置AOP:Aspect Oriented Programming

在某些類中, 什么時機, 做什么事情 切入點(point-cut): 在某些類中(Class<?>[] itfc new Class<?>[] { IStudentService.class }) 通知: 什么時機, 做什么事情(InvocationHandler的invoke方法) 切面: 切入點 通知 織入(weaver): Proxy.newProxyInstance: 把切入…

[No0000112]ComputerInfo,C#獲取計算機信息(cpu使用率,內存占用率,硬盤,網絡信息)...

github地址&#xff1a;https://github.com/charygao/SmsComputerMonitor 軟件用于實時監控當前系統資源等情況&#xff0c;并調用接口&#xff0c;當資源被超額占用時&#xff0c;發送警報到個人手機&#xff1b;界面模擬Console的顯示方式&#xff0c;信息緩沖大小由配置決定…

I2C總線之(一)---概述

概述&#xff1a;IC 是Inter-Integrated Circuit的縮寫&#xff0c;發音為"eye-squared cee" or "eye-two-cee" , 它是一種兩線接口。 IC 只是用兩條雙向的線&#xff0c;一條 Serial Data Line (SDA) &#xff0c;另一條Serial Clock (SCL)。 SCL&#xf…

js中級(1)

動畫(1) Css樣式提供了運動 過渡的屬性transition 從一種情況到另一種情況叫過渡 Transition:attr time linear delay&#xff1b; Attr 是變化的屬性 Time 是花費的時間 Linear 變化的速度 Delay 是延遲 復習background:url() no-repeat 50% 50% red; Background-image Ba…

I2C總線之(二)---時序

一、協議 1.空閑狀態 I2C總線總線的SDA和SCL兩條信號線同時處于高電平時&#xff0c;規定為總線的空閑狀態。此時各個器件的輸出級場效應管均處在截止狀態&#xff0c;即釋放總線&#xff0c;由兩條信號線各自的上拉電阻把電平拉高。 2.起始位與停止位的定義&#xff1a; 起始信…

微信小程序設置底部導航欄目方法

微信小程序底部想要有一個漂亮的導航欄目&#xff0c;不知道怎么制作&#xff0c;于是百度找到了本篇文章&#xff0c;分享給大家。 好了 小程序的頭部標題 設置好了&#xff0c;我們來說說底部導航欄是如何實現的。 我們先來看個效果圖 這里&#xff0c;我們添加了三個導航圖標…

HTTP協議(3)瀏覽器的使用之查看源碼

在做CTF的Web類題目時&#xff0c;推薦使用Firefox瀏覽器。下面介紹一些在解題過程中關于瀏覽器的常用技巧。首先就是查看源碼。在做Web題目時&#xff0c;經常需要查看網站源碼&#xff0c;有的flag直接就藏在源碼中&#xff0c;有些題目則是在源碼中給出提示和線索&#xff0…

Autofac IoC容器基本使用步驟【1】

原文&#xff1a;http://www.bkjia.com/Asp_Netjc/888119.html 【原文中有一個地方報錯&#xff0c;下面已修改】 一.基本步驟: 1.設計適合控制反轉(IoC)的應用程序 2.給應用程序Autofac 引用. 3.注冊組件. 4.創建一個Container以備后用. 5.從Container創建一個 lifetime scop…