Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #51, ФЕВРАЛЬ 2005 г.

Из Windows в *nix

Крис Касперски ака мыщъх

Спецвыпуск: Хакер, номер #051, стр. 051-086-4


На сайте IBM есть замечательная статья по переносу MFC-приложений на wxWindows (см. врезку), а на сайте самой wxWindows еще немного материалов на эту тему. Судя по баннерам, проекту покровительствуют весьма влиятельные компании – VMWare и Helpware, поэтому за его дальнейшую судьбу можно не волноваться.

Множество полезных библиотек можно найти на www.sourceforge.net, например, библиотеку для работы с ini-файлами (не анализировать же ее с помощью Бизона!) – libini.lib. Все они бесплатны, распространяются в исходных текстах и легко подключаются к любому проекту. Прежде чем писать код самому, обязательно посмотри, нет ли его в Сети уже. Скорее всего, он написан до тебя, так зачем же изобретать велосипед, когда есть готовые чертежи?

DELPHI + BUILDER + LINUX == KYLIX

Borland – великая фирма! Это она создала Turbo Pascal и Turbo Debugger (точнее не создала, а купила). Это она создала Turbo Vision и определила облик интегрированной среды разработки. Скажу честно: я не считаю Borland C++ хорошим компилятором (он как-то странно трактует ANSI стандарт, да и оптимизирует плоховато), Builder я обхожу стороной, а от Delphi меня в прямом смысле тошнит. Но это – мои личные впечатления (солидарен - прим. Горл). Мой любимый MS VC в *nix оказывается в очень затруднительном положении (перенос требует больших денежных вложений и телодвижений), а у Borland просто перекомпилируешь, и все!

Kylix – это DELPHI и BUILDER для Linux, распространяющийся по лицензии GPL (то есть бесплатно) и включающий в себя интегрированную среду разработки (экранный редактор, интерактивный отладчик и т.п.) со всеми необходимыми библиотеками и слоями абстрагирования на борту. При условии, что программа не использует прямых вызовов win32 API, перенос не принесет никаких проблем (на самом деле все намного сложнее, и если это не чисто вычислительная задача типа бухгалтерии, без прямых вызов ей никак не обойтись - достаточно захотеть прочитать сектор с CD-ROM диска).

А вот что действительно восхищает, так это Free Pascal (он же FPK Pascal) – бесплатный кросс-платформенный компилятор Pascal’а (с исходниками!), поддерживающий Intel x86, Motorola 680x0, PowerPC и работающий практически на любой операционной платформе: Linux, FreeBSD, NetBSD, MacOSX/Darwin, MacOS classic, DOS, Win32, OS/2, BeOS, Solaris, QNX и Amiga. Синтаксически и семантически Free Pascal полностью совместим с TP 7.0 и практически полностью – с Delphi версий 2 и 3. В дальнейшем планируется поддержка перекрытия функций и операторов. Kylix и рядом не валялся. На платформе Linux он король, а кто он за ее пределами?

Единственное, чего недостает Free Pascal – так это нормального IDE. Хотя на мой мыщъх'ый взгляд, тот IDE, который есть, гораздо удобнее MS VC и Delphi вместе взятых. Одно слово – консоль! При ближайшем рассмотрении выясняется другая замечательная вещь. Free Pascal не совсем компилятор, точнее, совсем не компилятор! Это – транслятор Pascal’я в С. Формально его можно считать компилятором переднего плана (Front-End Compiler), состыкованного с GCC. Отсюда и приличное качество оптимизации, и кросс-платформенность.

Назад на стр. 051-086-3  Содержание  Вперед на стр. 051-086-5