мэйнфрейм — невозможно загрузить CCNEP в z / OS 1.12 C ++ ошибка компилятора?

Я только начал работать с мэйнфреймом пару дней. Я попытался скомпилировать / связать / запустить простой пример «Hello World», следуя инструкциям с этого сайта http://www.ibmpressbooks.com/articles/article.asp?p=1160471&SEQNUM = 4
К сожалению, я столкнулся с этой ошибкой, и я понятия не имею, что она говорит мне. Интересно, есть ли у кого-нибудь опыт работы с мэйнфреймами, могу ли я поделиться некоторыми советами? Я использую Marist z / OS 1.12.
введите описание изображения здесь

0

Решение

IBM C / C ++ компилятор задокументировано в Информационный центр z / OS за ваш конкретный выпуск z / OS.

Сообщения компилятора документированы Вот, и указать, что CCNEP — это имя модуля, требуемого компилятором, который не может быть загружен.

Действия пользователя: Проверьте, правильно ли установлен компилятор. Делать
Убедитесь, что в регионе достаточно памяти для загрузки модуля. Ты можешь
необходимо указать параметр времени выполнения HEAP (,,, FREE ,,), чтобы предотвратить
Компилятору не хватает памяти.

Поскольку вы компилируете на переднем плане, и я вижу, что вы используете OMVS, объем памяти «в регионе» соответствует объему, указанному для вашего сеанса TSO.

Упомянутая опция времени выполнения Языковая среда вариант времени выполнения. Языковая среда обеспечивает общая среда выполнения используется C / C ++, COBOL, FORTRAN и PL / I.

Есть несколько способов указать параметры времени выполнения, я думаю, вы бы предпочли использовать _CEE_RUNOPTS переменная среды, как задокументировано Вот.

Также возможно, что библиотека, содержащая модуль CCNEP, не выделена для вашего сеанса и / или недоступна в LPA или списке ссылок.

В зависимости от вашего фона, вам может быть удобнее использовать PuTTY, чем OMVS.

2

Другие решения

Я ожидаю, что это не проблема памяти, а то, что модули компилятора C / C ++ отсутствуют в вашей STEPLIB.
STEPLIB — это одно из мест, где ищут модули загрузки, аналогично LIBPATH в системах Unix.
Итак, что вы хотите сделать, это добавить команду экспорта перед запуском c ++. Это действительно то, что системный программист, вероятно, должен был настроить для вас, но часто это не так.
К сожалению, он не стандартизирован — но для меня — программный объект CCNEP находится в наборе данных CBC.ACCNCMP, поэтому я бы сделал следующее:

(export STEPLIB=CBC.ACCNCMP:$STEPLIB; c++ ... )

Он запустит (как дочерний процесс, чтобы вы не испортили свою глобальную STEPLIB) компилятор C ++, но сначала добавьте набор данных CBC.ACCNCMP в вашу STEPLIB, чтобы программа драйвера c ++ могла загрузить модуль CCNEP.

Если вы знакомы с системным программистом для Marist, он сможет рассказать вам, где они установили компилятор C ++.

0

По вопросам рекламы [email protected]