]]> ]]>

Open Watcom C/C++ 1.4

Версия реализации Open Watcom C/C++ языка программирования C++

Версия Open Watcom C/C++ 1.4 выпущена 14 декабря 2005.

Основные изменения относительно версии Open Watcom C/C++ 1.3:

  • добавлена поддержка инициализатора C99 к компилятору C .На пример, struct {int a, b;} c = {.a=0.b=1}; и int [4] = {[0] =5, [3] =2};
  • исправлена обработка перечисляемого типа в компиляторе C. В определенных случаях компилятор выбирал неверный тип для операций над объектами перечисляемого типа. Разрешены 64 битные перечисляемые константы (в том числе в 16-разрядных компиляторах)
  • компилятор теперь выдает сообщение, если количество битовых сдвигов является отрицательным или слишком большим. Добавлены сообщения ‘W134: Shift amount negative’ и ‘W135: Shift amount too large’
  • компилятор C теперь выдает сообщение при сравнении бас знакового типа с числами <= 0
  • добавлено новое ключевое слово __ watcall к компиляторам C/C++ для поддержки соглашения о вызовах Watcom
  • определена новая макрокоманда для компилятора C _M_I86, использование которой предпочтительнее макрокоманды M_I86
  • добавлен ряд новых ключевых слов для компилятора C, которые раньше были определены как макроопределения: _Cdecl, _Export, _Far16, _Fastcall, _Pascal, __sycall, _System, __try, __except, __finally, __leave
  • аналогичные изменения были сделаны в компиляторе C++: _Cdecl, _Export, _Far16, _Fastcall, __inline, _Pascal, __syscall, _System
  • компилятор C++ теперь поддерживает новый синтаксис шаблонов
  • теперь в случае, если компилятор C++ не обнаруживает результат возвращаемого значения в функции main по умолчанию принимается результат return 0;
  • компилятор C++ теперь должным образом обрабатывает возвращаемое значение void для функций с возвращаемым значением типа void
  • компиляторы C/C++ теперь поддерживают соглашение Microsoft о быстрых вызовах и распознают ключевое слово __fastcall
  • компилятор C теперь распознает #pragma data_seg и #pragma code_seg
  • добавлен новый флаг -fti для отслеживания открытия файлов при помощи #include
  • произведены изменения генератора кода
  • устранены несколько проблем с потерей информации сегмента
  • обработка командной строки была изменена в утилитах Compile и Link
  • восстановлена поддержка оверлейным программам в компоновщике
  • произведен ряд изменений в компоновщике
  • устранена ошибка в signal()
  • изменено семейство функций printf()
  • преобразование из числа с плавающей запятой в строку теперь производится с большей точностью
  • функция sleep() была определена в unistd.h и изменен тип возвращаемого значения на unsigned int для совместимости с POSIX
  • функция clock() теперь использует счетчик в миллисекундах, если это возможно
  • библиотека времени исполнения была оптимизирована для генерации меньших программ под DOS
  • были добавлены функции C99 к библиотеке времени исполнения C: wmemchr(), wmemcmp(), wmemcpy(), wmemmove(), wmemset()
  • была добавлена POSIX совместимая функция getopt()
  • была добавлена POSIX совместимая функция mkstemp()
  • были добавлены BSD совместимые функции strlcpy() и strlcat()
  • был добавлен новый файл заголовков strings.h для POSIX совместимости
  • улучшена обработка путей в утилите wmake, содержащих пробелы
  • улучшен дизассемблер wdis
  • добавлены новые переключатели -zz и -zzo к ассемблеру (wasm)
  • добавлена 16-битная версия DOS ассемблера (wasmr)
  • устранены проблемы с пошаговой отладкой
  • добавлена новая опция -zld к менеджеру библиотек (wlib)
  • добавлена новая утилита exe2bin
  • добавлена подсветка синтаксиса к редактору
  • добавлены новые примеры

Комментарии

]]>

blog comments powered by Disqus

]]>

Работа программистам