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