현재 USS 인터페이스를 사용하여 MVS에서 응용 프로그램을 이식하고 있습니다. 나는 다음과 같은 프로그램을 (++ 컴파일러 C를 사용하여) 컴파일 문제에 직면하고 있습니다 :USS C++ 소켓 프로그래밍 및 _OE_SOCKETS
#define _XOPEN_SOURCE_EXTENDED 1
#define _OE_SOCKETS
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
int main() {
struct in_addr add;
int sd = socket(AF_INET, SOCK_STREAM, 0);
inet_ntoa(add);
return 0;
}
IBM의 문서는 (은 C++의 경우 _XOPEN_SOURCE_EXTENDED
) 소켓 기능을 사용하려는 사람이 _OE_SOCKETS
을 정의해야한다고 주장한다. 하지만 정의되지 않은 기호 소켓을 보내고 있습니다 :
690: #ifndef _OE_SOCKETS /* must be __UU */
...
732: int socket (int, int, int);
...
780: #endif /* ifndef _OE_SOCKETS */
:
$> c++ test.cpp
"./test.cpp", line 10.12: CCN5274 (S) The name lookup for "socket" did not find a declaration.
CCN0793(I) Compilation failed for file ./test.cpp. Object file not created.
FSUM3065 The COMPILE step ended with return code 12.
FSUM3017 Could not compile test.cpp. Correct the errors and try again.
조사의 비트가 실제로 여기에이 파일의 추출물, 제가 손상된 SYS/socket.h 헤더 파일을 가지고 있다고 생각하게
#ifndef _OE_SOCKETS
이 #ifdef _OE_SOCKETS
이어야한다고 생각합니다.
누구든지 저에게 확인할 수 있습니까? 감사.
$> uname -a
OS/390 S0W1 20.00 03 2094