У мене виникають питання , отримати З Sockets API для роботи належним чином C++на z/OS.
Хоча я включаю sys/socket.h, я все ще отримую помилки компіляції часу, кажучи мені, що AF_INETце не визначено .
Я пропускаю щось очевидне, чи це пов’язано з тим, що перебування на роботі z/OSзначно ускладнює мої проблеми?
Оновлення : Після подальшого розслідування я виявив, що є таке, в #ifdefщо я б'є. Мабуть z/OS, не радий, якщо я не визначу, з яким типом розеток я використовую:
#define _OE_SOCKETS
Тепер я особисто не маю уявлення, для чого це _OE_SOCKETSнасправді, тож якщо там є будь-які z/OSпрограмісти розеток (усі троє з вас), можливо, ви могли б дати мені зрозуміти, як це все працює?
Тестовий додаток
#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
який інкапсулює в основному весь файл? Не впевнений, чи це має значення.