我一直在讓C套接字API在C++中正常工作。具體來說,儘管我包含sys/socket.h
,但編譯時錯誤仍然告訴我AF_INET
未定義。我是否錯過了某些明顯的東西,或者這可能與我在z/OS
上執行此編碼的事實有關,而且我的問題要複雜得多?如何在z/OS上使用C++中的C套接字API
更新:經進一步調查,我發現有一個#ifdef
是我打。顯然z/OS
不開心,除非我確定我使用的是與「型」插口
#define _OE_SOCKETS
現在,我個人不知道這是什麼_OE_SOCKETS
實際上是對的,所以如果任何z/OS
插座的程序員都出來了那裏(你們全部3個),也許你可以給我一個這一切如何運作的概要?
確定我可以發佈測試應用程序。
#include <sys/socket.h>
int main()
{
return AF_INET;
}
編譯/鏈接輸出:
CXX -Wc,XPLINK -Wl,XPLINK -o inet_test inet.C
「./inet.C」,線路5.16:CCN5274(S) 「AF_INET」的名稱查找沒有找到聲明。
CCN0797(I)文件./inet.C的編譯失敗。目標文件未創建。
sys/sockets.h的檢查確實包括我需要的定義,並且據我所知,它沒有被任何#ifdef語句阻塞。
我已經注意到,但它包含以下內容:
#ifdef __cplusplus
extern "C" {
#endif
基本上封裝整個文件。不知道它是否重要。
這與原始問題無關。 – 2009-09-18 11:25:41