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
]]>