我在使用C套接字API在z/OS
上的C ++中正常工作时遇到问题。
虽然我包括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
它基本上封装了整个文件。 不确定是否重要。