от
У меня возникли проблемы, получая с API сокетов, чтобы правильно работать в C на
z/OS
. Хотя я в том числе
sys/socket.h
, я все еще получаю ошибки компиляции время говорили мне, что
AF_INET
не определен. Я упускаю что-то очевидное, или это связано с тем, что на
z/OS
делает мои проблемы гораздо сложнее? Обновление: после дальнейшего расследования, я обнаружил, что есть
#ifdef
, что я флиртую. Видимо
z/OS
не счастлив, если я определить, какой "тип" из розетки я использую с:
#define _OE_SOCKETS
Теперь, я лично понятия не имею, что это
_OE_SOCKETS
на самом деле, так что если любой
z/OS
розетки программистов там (все 3 из вас), не могли бы вы дать мне краткое описание, как это все работает? Тест Приложение
#include

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.
Анти-спам проверка:
Чтобы избежать проверки в будущем, пожалуйста войдите или зарегистрируйтесь.

10 Ответы

0 голосов
от
У меня возникли проблемы, получая с API сокетов, чтобы правильно работать в C на
z/OS
. Хотя я в том числе
sys/socket.h
, я все еще получаю ошибки компиляции время говорили мне, что
AF_INET
не определен. Я упускаю что-то очевидное, или это связано с тем, что на
z/OS
делает мои проблемы гораздо сложнее? Обновление: после дальнейшего расследования, я обнаружил, что есть
#ifdef
, что я флиртую. Видимо
z/OS
не счастлив, если я определить, какой "тип" из розетки я использую с:
#define _OE_SOCKETS
Теперь, я лично понятия не имею, что это
_OE_SOCKETS
на самом деле, так что если любой
z/OS
розетки программистов там (все 3 из вас), не могли бы вы дать мне краткое описание, как это все работает? Тест Приложение
#include
0 голосов
от
Сохраните копию ИБМ методичка пригодится: з/V1R11 ОС.0 ХL C и C руководство по программированию з/V1R11 ОС.0 ХL C и C Справочник по библиотеке времени выполнения В публикации IBM, в целом очень хороший, но нужно привыкнуть к их оформлению, а также зная, где искать ответ. Вы довольно часто обнаруживают, что объект, который вы хотите использовать охраняется "макроса" Вы должны задать вашей дружной системный программист для установки ХL C и C Справочник по библиотеке времени выполнения: Man-страниц на вашей системе. Затем вы можете делать вещи, как "человек Connect", чтобы подтянуть Man-странице для гнезда подключения() API-интерфейс. Когда я делаю это, вот что я вижу: Формат Х/Открыть
#define _XOPEN_SOURCE_EXTENDED 1
#include
0 голосов
от
Я имел никаких проблем с использованием сокетов BSD API в C в GNU/Линукс. Вот пример программы я использовал:
#include
0 голосов
от
Ознакомиться с использованием z/OS системы служб Unix-сокета раздел в z/OS в ХL C и C руководство по программированию. Убедитесь, что вы в том числе и необходимые заголовочные файлы и используя соответствующие директивы #define. Ссылка на док изменилось за эти годы, но вы должны быть в состоянии добраться до него достаточно легко найти текущее местоположение поддержки
0 голосов
от
Так что попробуйте
#define _OE_SOCKETS
перед включением системы/гнездо.ч
0 голосов
от
В _OE_SOCKETS-видимому, просто для того, чтобы включить/отключить определение гнезд-символов. Это не редкость в некоторых библиотеках есть куча макросов, чтобы сделать это, чтобы гарантировать, что вы не компиляции/связывания частей не требуется. Макрос не является стандартным в другие гнезда реализации, представляется что-то конкретное з/ОС. Взгляните на эту страницу: Компиляции и компоновки программы Z/ВМ розетки с
0 голосов
от
Вы может хотите взглянуть на cpp-разъемы, оболочка C для разъемов для системных вызовов. Он работает с многими операционными системами (для Win32, POSIX и, Линукс, *БСД). Я не думаю, что он будет работать с z/OS, но вы можете взглянуть на следующие файлы, он использует и вы будете иметь много примеров, когда тестировал код, который хорошо работает на других ОС.
0 голосов
от
@Джекса: дело
extern "C"
вопросов, очень много. Если файл заголовка нет, то (если это на C -только заголовочный файл), вам придется заключить
#include
с ним:
extern "C" {
#include
0 голосов
от
Disclaimer: я не C программист, но я знаю очень хорошо. Я адаптировано эти звонки из программы на C, у меня есть. Также уценки положить эти странные
0 голосов
от
Ответ-использовать флаг с89, который следует:
 

Пример следует;

 bash

Для получения дополнительной информации искать С89 вариантов в руководстве по з/XLC, в ОС/c   пользователя.
...