ฉันมีปัญหาได้รับ C ซ็อกเก็ต API เพื่อการทำงานที่ถูกต้องในบนC++
z/OS
ถึงแม้ว่าผมกำลังรวมทั้งsys/socket.h
ผมยังคงได้รับข้อผิดพลาดรวบรวมเวลาบอกฉันว่าไม่ได้กำหนดไว้AF_INET
ฉันขาดอะไรบางอย่างที่ชัดเจนหรือเกี่ยวข้องกับความจริงที่ว่าสิ่งที่z/OS
เกิดขึ้นทำให้ปัญหาของฉันซับซ้อนมากขึ้นหรือไม่?
ปรับปรุง : จากการตรวจสอบเพิ่มเติมฉันพบว่ามีสิ่ง#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", line 5.16: CCN5274 (S) The name lookup for "AF_INET" did not find a declaration.
CCN0797(I) Compilation failed for file ./inet.C. Object file not created.
การตรวจสอบ sys / sockets.h มีคำจำกัดความที่ฉันต้องการและเท่าที่ฉันสามารถบอกได้ว่ามันไม่ได้ถูกบล็อกโดย#ifdef
คำสั่งใด ๆ
ฉันได้สังเกตเห็นว่ามันมีดังต่อไปนี้:
#ifdef __cplusplus
extern "C" {
#endif
ซึ่งแค็ปซูลโดยทั่วไปไฟล์ทั้งหมด? ไม่แน่ใจว่ามันสำคัญหรือไม่