自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

C++調(diào)用C鏈接庫具體應用技巧講解

開發(fā) 后端
C++調(diào)用C鏈接庫其實就是相對于C調(diào)用C++。其實現(xiàn)方式還是比較簡單的。我們可以通過本文介紹的相關內(nèi)容充分掌握這一應用技巧。

C++編程語言的應用范圍非常廣泛,應用方式靈活,它能夠支持多種程序設計風格,幫助我們輕松解決許多問題。比如今天為大家介紹的C++調(diào)用C鏈接庫具體操作方法,就是一個比較經(jīng)典的例子,可以讓大家充分了解到其中的概念。#t#

C++調(diào)用C鏈接庫,其實相對C調(diào)用C++。因為C++本來就向下兼容C吧(個人見解)。

但由于編譯器的設計不同,會出現(xiàn)一些問題,如下:(如中間部分,有一句undefined reference to 'helloC()' ,helloC()是我在C鏈接庫中的函數(shù))

 

簡單說來原因就是未經(jīng)處理的C代碼編譯后函數(shù)名可能變?yōu)開helloC()之類的,而C++編譯后函數(shù)名卻不是這樣,所以就對不上。

需要在include C的文件的時候加上extern "c"

 

在練習中,寫了三個文件:c.h c.c cpp.cpp 前兩個編譯為C鏈接庫,cpp.cpp使用C。驗證了C++調(diào)用C鏈接庫可以訪問到C的全局變量。

c.h:

 

  1. #include "stdio.h"  
  2. void helloC();  
  3. int abc = 1

 

 

c.c:

 

  1. #include <stdio.h> 
  2. #include "c.h"  
  3. void helloC(){  
  4. printf("I am Kenko");  

 

 

cpp.cpp:(重點在于如何include)

 

  1. #include <iostream> 
  2. using namespace std;  
  3. extern "C" {  
  4. #include "c.h"  
  5. }  
  6. int main(){  
  7. helloC();  
  8. cout<<abc<<endl;  
  9. return 0;  

C++調(diào)用C鏈接庫的相關方法就為大家介紹到這里。

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

2009-08-05 16:29:18

C#調(diào)用C++動態(tài)鏈接

2011-05-18 17:15:45

2024-03-01 20:59:11

C#DLL開發(fā)

2012-01-06 10:25:50

JavaDLLC++

2010-02-06 17:21:20

C++ CreateT

2010-02-05 13:52:04

C++資源管理

2010-02-01 15:01:34

C++拋出異常

2010-02-03 17:42:33

C++模板參數(shù)

2010-02-03 15:35:00

C++輸入輸出漢字

2009-08-28 16:19:30

C#實現(xiàn)修改動態(tài)鏈接庫

2010-02-01 11:13:00

C++ Traits

2010-02-06 13:52:39

C++ profile

2010-02-06 15:49:31

刪除C++容器值

2010-02-03 15:58:51

C++ timer

2010-02-06 15:15:31

C++ Builder

2021-09-01 05:11:13

C# 動態(tài)鏈接庫

2010-02-06 13:47:08

C++標準擴展

2010-02-06 17:09:29

C++文件拷貝

2010-02-04 14:58:06

C++內(nèi)存分配

2023-03-15 15:58:11

Python動態(tài)庫C++
點贊
收藏

51CTO技術(shù)棧公眾號