У меня проблемы с настройкой API сокетов C для правильной работы в 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
, который инкапсулирует в основном весь файл. Не уверен, что это важно.