Благодарим Вадима Егорова за представление
этой статьи. Оригинал можно найти на его WWW
С момента выхода компилятора VisualAge C++ 4.0 его преследует постоянный
миф, что работать с ним можно только в IDE (с многозначительным названием
IMUI), которая совершенно не похожа на "привычные" среды типа Borland
IDE. Строго говоря она (среда 4ки) вообще не похожа ни на что ранее
выпускавшееся. Реакция не замдлила воспоследовать, что совсем не
удивительно для природы человека ;)
На самом деле в комплект 4ки входят 2 компилятора для командной
строки: vacbld.exe и iccv4.exe. И отлаживать программы
без IDE можно.
iccv4 - самый обычный (не считая версии) IBM C Set Compiler,
который в более ранних версиях назывался icc(xlc для AIX'a). Правда,
он "не расчитан" на запуск вне среды, но это так думает IBM ;). Нормально
запускается, и нормально компилирует, правда только C файлы,
но любители покопаться могут обнаружить ещё что-нибудь :).
Лично я его не использую явно никогда за ненадобностью.
vacbld - тот самый "потерянный" компилер для коммандной строки.
Правда, и тут есть сюрприз: с makefiles он не работает. И использовать
его как раньше так же нельзя.
vacbld работает с icc файлами, теми же что и среда,
что крайне удобно.
Запуск прост:
vacbld -showp=1 myproject.icc
Если запустить без параметров, то:
IBM(R) VisualAge(R) C++ Professional, Version 4.0 (990311)
Licensed Materials - Property of IBM
(C) Copyright IBM Corp. and by others 1998. All Rights Reserved.
IBM and VisualAge are trademarks of IBM Corp. in the U.S.
and/or other countries.
US Government Users Restricted Rights - Use, duplication or
disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
VACBLD - build the specified configuration without invoking the IDE.
Syntax: vacbld [<configuration_file>] [-C <codestore_file>] [-Unload]
[-?] [-Help] [-SHOWWarnings] [-NOC] [-Migrationbuild]
[-CLean] [-SHOWProgress] [-SEVeritylevel=[I|W|E]]
Options:
<configuration_file> Name of the configuration file.
-C <codestore_file> Name of the persistent codestore file (it
must have a .ics file extension.)
-Unload Unload the kernel from memory; if a
configuration or codestore file is not
specified first, no build is performed.
-? or -Help Show this help.
You must specify AT LEAST one of the above options.
-SHOWWarnings Show the list of warning messages stored in
the codestore.
-NOC Do not create or use a persistent codestore.
-Migrationbuild Migrate source files by building the
configuration one source file at a time.
-CLean Erase any intermediate and target files and
delete the codestore. No build is performed.
You may specify NO MORE THAN one option from the above group.
-SHOWProgress=n Show the build progress every n seconds.
-SEVeritylevel=Information List information, warning and error messages.
-SEVeritylevel=Warning List warning and error messages.
-SEVeritylevel=Error List error messages.
Minimum option is shown in upper case. Option letters are not case-sensitive.
Some options are incompatible; in this case, the first one specified takes
precedence.
Другими словами (для тех кто не понял выражения 'build the specified
configuration without invoking the IDE')
это штатное средство для коммандной строки.
Про отладку без IDE IBM так же не забыла. Дело в том, что 4ка
на самом деле называется
IBM VisualAge C++ professional for OS/2 and Windows NT
И в комплект входят 4е компилятора, по 2 для каждой
платформы (3.6.5 и 4.0). Вот в дистрибутиве 3.6.5 и находится IBM debugger,
который понимает отладочную информацию от 4ки. Так что тут дело в
"прямоте" дистрибутива ;)
Я оставлю в стороне "проблемы" icc-файлов, которые так не похожи на make
files и вызывают у приверженцев последних чуть ли не приступ HOLLYWAR,
замечу лишь что для меня они значительно более удобно и
человеко-ориентированны. Но это моё частное мнение программера.
P.S. Всё описанное выше совершенно справделиво для версий 4ки для OS/2,
WinNT, AIX.
P.P.S. Когда фирма Stardivision продала фирме
SUN свой продукт Star Office, последняя
отказалась выпускать вресию для OS/2 аргументируя тем, что преусловутый
gcc-emx просто не позволяет нормально собрать и отладить код (и это совсем
не удивительно), а VAC++ 4.0 не имеет коммандной строки... Может
они по-английски читать не умеют ? ;) Или дело в чём-то ином ?
Обсудить материал (число отзывов:2)
предыдущий материал | следующий материал |