Совместимость PICK/BASIC, FlashBASIC и C

Я наткнулся на некоторые интересные документы, касающиеся программирования PICK:

http://www.d3ref.com/?token=flash.basic

В нем говорится, что FlashBASIC - это скомпилированная, а не интерпретируемая версия программ PICK, которые совместимы с PICK. Это замечательно. Мне интересно, как это описывает объектный код:

преобразует исходный код Pick/BASIC в список двоичных инструкций, называемых объектным кодом.

Этот объектный код совместим с другими языками? Или это ограничено операционной средой PICK & Universe? Другими словами, может ли C-программа вызвать программу FlashBASIC?

Это полезно при определении версии C, но не может найти четкого определения версии FlashBasic:

Что такое объектный файл в C?

2 ответа

Решение

Вы задаете несколько разных вопросов, на которые я постараюсь ответить.

Вот статья, которую я написал, которая может помочь вам понять FlashBASIC. Короче говоря, когда традиционный MV BASIC компилируется и затем выполняется ассемблером, компилятор Flash является C и генерирует объектный модуль, который находится ниже стандартного объекта BASIC в пространстве кадра. Во время выполнения этот код затем интерпретируется средой выполнения C. Для наших целей здесь нет интерфейса C, это всего лишь внутренний механизм для ускорения работы кода.

Обратите внимание, что это не связано с "Что такое объектный файл в C?" тема, потому что объектные модули в D3 хранятся в кадрах D3, совершенно не связанных с общими объектными модулями уровня ОС.

Теперь о том, что C вызывает Pick - в вашем случае D3: вы можете использовать библиотеку CP - документы находятся в той же области, что и ссылка, которую вы указали. Вместо того, чтобы связываться с самой базой данных, вы также можете использовать свой код в режиме клиент / сервер с библиотекой MVSP, если вы используете Managed C (.NET). Или вы можете использовать любой общий механизм клиента веб-службы в C и настроить D3 в качестве сервера веб-службы с рядом технологий, включая MVST, mv.NET, Java или C/C++.

Я знаю, что ответ довольно расплывчатый, но вы задаете вопрос, который подробно обсуждался на форумах в течение нескольких лет. Если вы зададите более конкретный вопрос, вы получите конкретный ответ. Не стесняйтесь уточнять свой запрос в комментарии, и мы можем сфокусировать ответ.

Также обратите внимание, что вы пометили этот вопрос как "u2". Если вы действительно используете U2-вариант MV/Pick (Universe или Unidata), то ссылка на документы D3 вводит в заблуждение, и ни одно из вышеперечисленного не применимо, так как они делают это по-другому в U2, и там нет FlashBASIC. Я знаю, ты в замешательстве. Давайте решим это...

Да, Flash BASIC просто преобразуется в C, компилируется, и результирующие объектные файлы динамически загружаются и связываются, а затем запускаются из ОС Pick. Меня зовут Лон Черрихолмс. Я вместе с Брэдом Хэмилтоном и Эриком Сойро написал компилятор, отладчик и среду исполнения Flash BASIC под руководством Дэвида Зигрея и Ричарда Пика. Возможность запуска программ на C и взаимодействия с ним была, конечно, возможна, но мы не реализовали эту функцию.

Используется ли Flash до сих пор?

Другие вопросы по тегам