Потребовалось мне тут прикрутить к замечательной программе putty подсветку синтаксиса на лету в терминальной сессии. И так вышло, что на новом рабочем ноутбуке я пока еще не успел поставить Студию. У putty есть makefile’ы для Visual Studio, Borland’а, Cygwin’а и LCC. Первых двух у меня не было, и взять их было негде, Cygwin недолюбливаю из-за необходимости таскать с собой потом dll’ки, и чудом выбор пал на LCC. До этого я никогда этот компилятор не использовал.
И я был приятно удивлен практически всему увиденному. Во всего шести мегабайтах дистрибутива вы получаете быстрый компилятор С99 с поддержкой современных процессоров, линковщик, ассемблер, компилятор ресурсов и внушительную библиотеку.
Про библиотеку хочу сказать отдельно. Помимо стандартного набора libc и Win32 API, там полно всего остального. Лично я был несказанно удивлен простой, и порой столь нужной функцией ping() (и не надо больше вызывать ping.exe в скрытом окне).
В общем, с помощью также идущих в комплекте регулярных выражений, я быстро подхачил putty как мне было нужно. Попутно проронил ностальгическую слезу от программирования оконного интерфейса на чистом Win32 API и ощутил некоторые приятности С99. Например, объявление переменных не в начале блока, а где удобно, и размер автоматических массивов задавать не статически, а из переменной. C99 однозначно стоит внимательного изучения.
Приведу небольшую выжимку из идущих в комплекте библиотек (кроме стандартных libc и Windows API, конечно). Думаю, названия говорят сами за себя.
gl.h | OpenGL |
sqlite.h | |
bignums.h | Работа с числами произвольной точности |
bitstring.h | |
bluetoothapis.h | |
d3d.h | |
d3dx.h | |
dynloader.h | Работа с DLL’ками |
gc.h | Сборщик мусора (требует запуска, конечно) |
getopt.h | |
icmpapi.h | |
int128.h | |
matrix.h | Работа с векторами и матрицами |
mq.h | IBM MQ |
msi.h | |
netmon.h | |
netsh.h | |
pcre.h | Регулярные выражения в стиле Perl |
ping.h | PING! |
ras.h | |
regexp.h | Простой API для регулярных выражений (regcomp() и regexec()) |
snmp.h | |
sqlite3.h | |
str.h | Работа со строками в стиле C99 |
tapi.h |
Итак, если вам быстро нужен небольшой компилятор (дистрибутив всего шесть мегабайт), для написания программы на С99 под Windows (для графического интерфейса придется все делать на чистом Win32 API), имеющий в комплекте в дополнение к libc и Win32 API приличный набор разнообразных библиотек, то LCC – это очень сильный кандидат.
Кстати, отдельно можно скачать и 64-битную версию компилятора.
Единственное, чего я не пробовал – это линковать объектники LCC с другими компиляторами. Кто имеет опыт – поделитесь.
Комментариев нет:
Отправить комментарий