Была переведена (т.е. практически полностью переработана) программа crwgo.
В старой версии crw32 эта программа служила для
создания ярлыков AdmiLink.
Версии crw32.exe менялись, а crwgo был
неизменным, что позволяло делать
ярлыки AdmiLink, работающие (долгое время) независимо
от версии crw32.
Сейчас программа crwgo выполняет аналогичную роль
(запуск crwdaq через ярлыки),
но только функции существенно расширены:
Программа crwgo стала кросс-платформенной: для Unix и Windows.
При запуске программа crwgo проверяет и
исправляет (некоторые) аргументы,
заменяет опции:
/session /number /r /e /d /icon=n,
исправляя их на
-session -number -r -e -d -icon=n.
Это сделано для совместимости со старыми конфигурациями
DAQ,
сделанными под Windows.
При запуске программа crwgo проверяет размер
файла crwdaq,
наличие в нем определенной сигнатуры, а также контрольную сумму
MD5,
сравнивая её с суммой из файла secure.md5 или
checksum.md5.
При несовпадении контрольных сумм запуск crwdaq
отменяется.
При запуске под Windows при необходимости
запрашивается повышение прав
для запуска с правами Администратора.
При запуске под Linux (перед запуском)
проверяются и при необходимости
устанавливаются привелегии, или, в терминах
операционной системы Linux,
возможности (capabilities) для файла
запускаемой программы crwdaq.
Нужные привелегии считываются из
crwdaq.ini [System:Unix] RequiredCapabilities.
Установка привелегий нужна для доступа к портам IP с
номерами <=1024,
а также для повышения приоритета потоков. Без установки указанных
привелегий
эти возможности будут недоступны.
При запуске под Linux программа
crwgo “отвязывает” пакет crwdaq
от терминала, так что он может продолжать работу независимо от
терминала.
Например, если в консоли xterm запустить
crwdaq, а затем закрыть
консоль, то программа crwdaq будет (аварийно)
завершена. А если запустить
в терминале программу crwgo, то она запустит программу
crwdaq, которая
продолжит работу и после закрытия консоли.
Упомянутое выше исправление аргументов требует пояснения.
Дело в том, что в Windows разделителем имен файлов
служит символ \,
а символы / и
- служат для обозначения опций в командной
строке.
В системах Unix разделителем имен файлов служит символ
/, символ
\
используется для экранирования символов, а символ
- служат для обозначения опций.
Например, под Windows строки
/d и -d
могут (обе) использоваться для опций,
но под Unix для опций допускается только
-d, т.к. /d
похоже на имя файла.
Несмотря на исправления (сделанные для работы старых
конфигураций),
настоятельно рекомендуется в новых конфигурациях использовать
только опции,
начинающиеся с символа -, например,
-icon=0, а не
/icon=0.
Таким образом, программа crwgo обеспечивает постоянную “точку входа”
для безопасного (с проверкой подлинности) запуска пакета crwdaq.