Внимание! Это временный неофициальный архив старой версии форума Полигон Призраков, созданный сочувствующим форуму участником. Этот сайт просуществует лишь до тех пор, пока администрация Полигона не сдержит своё обещание и не откроет официальный архив по адресу old.sannata.org.

Полигон-2

Форум о старых компьютерах

Объявление форума

Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС.

Полигон-2 »   Старый софт »   Программы под RT-11
RSS

Программы под RT-11

компиляторы, редакторы, игры, документация и пр. для УК-НЦ, ДВК и др.

<<Назад  Вперед>> Страницы: 1 2 * 3 4
Печать
 
xoiss
Гость

Ссылка

Спасибо!!

>> Пробую запустить компилятор прямо от DK: или MX1:, но не получается. Сделаю диск C:, который по сути MX1:, и заработало. Почему так? Почему именно C:? Это как-то связано с DOS-овскими именам дисков? Это как раз и моя непонятка по работу компилятора.

Кратко: диск C: обязателен. Компилятор ищет на нём файл stdio.h, а потом, возможно (но я не уверен), ещё и as.sav.

Точный ответ — в руководстве CCPROG.LST, а именно, строки 342-356 и 473-501.

Если "своими словами", то суть такая:
- в Си директива #include имеет две формы: (1) с указанием файла в угловых скобках и (2) с указанием файла в двойных кавычках
- вторая форма рекомендуется в том случае, если Вы подключаете заголовочный файл, являющийся частью Вашего же проекта, — вот, например, как здесь: https://github.com/xoiss/b3-23...ain.c#L38. Тогда компилятор будет начинать поиск включаемого файла в текущем рабочем каталоге (на RT-11 - это DK: ), потом просмотрит список каталогов, указанных в строке вызова компилятора опцией "-I" (в нашем примере отсутствуют), и только потом поищет его в системных библиотеках (на RT-11 - это специальное логическое устройство C:, а в Линуксах — набор каталогов, а-ля /usr/include и др.)
- первая же форма рекомендуется, если Вы подключаете заголовочный файл какой-либо стандартной библиотеки. Тогда СОВРЕМЕННЫЙ компилятор будет вести поиск в обратном порядке: начнёт с каталогов системных библиотек и закончит текущей директорией. Но это именно для современных компиляторов...
- ... для данного компилятора маршрут поиска файла, заданного первой формой (в угловых скобках), ограничивается ТОЛЬКО каталогом системных библиотек — это специальный диск "C:". Соответственно, не найдя его там (например, потому что такого диска нет вообще), он НЕ будет пытаться искать его на DK: или ещё где-либо и выдаст ошибку

Название C, надо полагать, означает "Си".


>> Кстати, может быть есть смысл тут и LINK.SAV выкладывать, чтобы всё было в одном месте?

Да, наверное, можно было бы.
Я просто поленился это делать, т.к. он уже есть на "системном диске" SY: в эмуляторе RT-11.


>> ... а то пока только на Linux-е у меня сервер стоят

... так и у нас тут (в Яндексе) сервера на Линуксе :)

Спасибо за подробный отчёт!!
Сейчас на форуме
xoiss
Гость

Ссылка

... кстати, кто-нибудь знает, как в командном файле (.COM) в RT-11 отдать команду CTRL/C ?

зачем?

суть в том, что, например, линковщик принимает аргументы в отдельной субконсоли (промпт "звёздочка")
и, чтобы завершить сеанс работы с линковщиком, надо отдать ему команду CTRL/C

при ручном вводе - это сделать понятно как
но если команды впечатаны в командный файл — то тогда как?
Сейчас на форуме
XPOHOMETP
Advanced Member


Всего сообщений: 752
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
13 мая 2015
xoiss, сами напросились :)

Вот так тоже должно работать:
.LINK HELLO,C:SPEIS,C:CXLIB

Аналогично
.LINK /EXE:B323 SPEIS,CXLIB,MAIN,ADCON,SIMUL
xoiss
Гость

Ссылка

спасибо!

понял, значит у директивы LINK немного другой формат аргументов, нежели у программы LINK.SAV
// а ведь когда-то в 92-94-х я это всё знал...

не подскажите, как всё-таки CTRL/C из командного файла отдать?
// на самом деле и LINK.SAV тоже можно запустить прямо со строкой аргументов: .ru sy:link b323=speis,cxlib,main,adcon,simul
// он тогда не открывает субконсоль — т.е. мой вопрос - он, скорее, на перспективу

спасибо!
Сейчас на форуме
XPOHOMETP
Advanced Member


Всего сообщений: 752
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
13 мая 2015
[q]
не подскажите, как всё-таки CTRL/C из командного файла отдать?
[/q]
Что-то не припоминаю я там такой возможности...
[q]
.ru sy:link
[/q]
Так тоже не пишут. Запуск программы с системного диска - просто R:
.R LINK abcdef
Technomancer
Advanced Member


Откуда: Рига
Всего сообщений: 359
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
12 июня 2016
Я так подумал - а каждая следующая команда в COM файле исполняется после завершения предыдущей, правильно? А раз уж так, тогда CTRL/C Вы не можете подать так-как линковщик работу завершил, но еще открыт. Разьве не так? Это только мои предположения.
Arseny
Advanced Member
,,,=^..^=,,,

Откуда: Bryansk, Russia
Всего сообщений: 1722
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
13 окт. 2005
xoiss написал:
[q]
не подскажите, как всё-таки CTRL/C из командного файла отдать?
[/q]
^C (в кодировке УКНЦ - это кривой дефис)
XPOHOMETP
Advanced Member


Всего сообщений: 752
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
13 мая 2015
Arseny написал:
[q]
^C (в кодировке УКНЦ - это кривой дефис)
[/q]
Были смутные воспоминания, но...

В эмуляторе RT-11 и в эмуляторе ДВК не работает...
Речь ведь про два символа (галочка ^ над цифрой 6 и буква С)?
Или что-то другое набивать?
Arseny
Advanced Member
,,,=^..^=,,,

Откуда: Bryansk, Russia
Всего сообщений: 1722
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
13 окт. 2005
XPOHOMETP написал:
[q]
В эмуляторе RT-11 и в эмуляторе ДВК не работает...
[/q]
В эмуляторе УКНЦ работает. Проверил.

XPOHOMETP написал:
[q]
Речь ведь про два символа (галочка ^ над цифрой 6 и буква С)?
Или что-то другое набивать?
[/q]
Я набирал текстовый файл в винде и там он выглядит как "галочка ^ над цифрой 6", но в эмуляторе отображается как горизонтальная Г (если покажет, то вот она ¬)
Вот что у меня было для проверки:
dump
^c

Если просто запустить DUMP (или убрать из COM файла ^c), то он ждет ввод имени файла.
XPOHOMETP
Advanced Member


Всего сообщений: 752
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
13 мая 2015
Arseny написал:
[q]
Вот что у меня было для проверки:
dump
^c
[/q]
Самое смешное, что DUMP, DIR, PIP, DUP действительно завершаются по ^C из командного файла.
В т.ч. на эмуляторах RT-11 и ДВК.
Извиняюсь, ввел в заблуждение, но лишь частично :(
А вот LINK.SAV так завершаться по прежнему не хочет, а на нем и пробовал изначально.
Похоже по ^C в линковщике завершается выполнение командного файла, а не самой программы.

Логичного объяснения не нахожу, чей глюк - непонятно.
Но RT11SJ v05.04 плюс LINK v05.45 и RT11SJ v04.00 плюс LINK v06.01 ведут себя одинаково (плохо)...



UPD:
LINK.SAV не хочет завершаться по ^C из командного файла,
если перед этим >CTRL/C> в файле есть пустая строка - просто >CR>,>LF>:
R LINK

^C

Пустая строка вставлялась для вывода на экран версии программы LINK.
Если вставить ^C сразу за вызовом LINK или после строки с реальными именами файлов для линковки,
то ^C отрабатывается нормально.
DUMP, DIR, PIP и т.п. таким дефектом не страдают...
<<Назад  Вперед>> Страницы: 1 2 * 3 4
Печать
Полигон-2 »   Старый софт »   Программы под RT-11
RSS

1 посетитель просмотрел эту тему за последние 15 минут
В том числе: 1 гость, 0 скрытых пользователей

Последние RSS
[Москва] LIQUID-Акция. Сливаются разъемы CF
МС7004 и 7004А на AT и XT
Пайка термотрубок
Проммать s478 PEAK 715VL2-HT ( Full-Size SBC)
Подскажите по 386 материке по джамперам.

Самые активные 5 тем RSS