使用C與C 混合程式設計封裝UDP協議

2022-04-08 21:11:08 字數 1039 閱讀 5795

引入標頭檔案,匯入lib檔案

#include #include #include #include #pragma comment(lib,"ws2_32.lib")

2. 在標頭檔案中宣告,由於是c++中呼叫c**需要使用extern關鍵字

3. 傳送方的實現

st=socket(af_inet,sock_dgram,0);      //建立乙個socket

//struct sockaddr_in addr;

memset(&addr,0,sizeof(addr));

addr.sin_family=af_inet;

addr.sin_port=htons(8080);

addr.sin_addr.s_addr=inet_addr("127.0.0.1");

4. 接收方的實現

st=socket(af_inet,sock_dgram,0);      //建立乙個socket

//struct sockaddr_in addr;

memset(&addr,0,sizeof(addr));

addr.sin_family=af_inet;

addr.sin_port=htons(8080);

addr.sin_addr.s_addr=htonl(inaddr_any); //作為接收方不需要指定具體的ip位址

if(bind(st,(struct sockaddr *)&addr,sizeof(addr))>-1) //將埠號與程式繫結

closesocket(st);

wsacleanup();

return rc;

}

5. 最後一步,在c++中的呼叫

**執行結果**

c與c 混合程式設計

在純c的系統中使用c 的類出現了編譯錯誤!程式 begin mymain.c include thesocket.h void main int argc,char argv end mymain.c begin thesocket.h class thesocket end thesocket.h...

c與c 混合程式設計

1.引言 c 語言的建立初衷是 a better c 但是這並不意味著c 中類似 c語言的全域性 變數和函式所採用的編譯和連線方式與c語言完全相同。作為一種欲與c相容的語言,c 保留了一部分過程式語言的特點 被世人稱為 不徹底地物件導向 因而它可以定義不屬於任何類的全域性變數和函式。但是,c 畢竟是...

C與C 混合程式設計

c 是在 c 語言的基礎上發展起來的。在某種程度上,我們可將 c 看做 c 的一種擴充套件。在本質上,二者的資料型別和函式呼叫慣例都是一致的,因此 c 與 c 混合編譯也是很自然的事情。二者的區別僅在於編譯後函式的名字不同 c 簡單地使用函式名而不考慮引數的個數或型別,而 c 編譯後的函式名則總是將...