LINUX.ORG.RU

История изменений

Исправление fsb4000, (текущая версия) :

Типа того что abs(1.1f) на MSVC возвращало 1.1f, а на gcc+linux вначале приводило к int и возвращало 1.

Прикольно, я не знал.

Да, это именно gcc+linux.

clang+linux возвращает 1.1

https://gcc.godbolt.org/z/rsPYzKseY

Наверное gcc даже формально прав…

Если импортировать из math.h то он выведет 1.1: https://gcc.godbolt.org/z/rcv566c51

А, ну да. Оба варианта возможны:

https://en.cppreference.com/w/cpp/header

the corresponding cxxx headers are allowed to also declare the same names in the global namespace: including «cstdlib» definitely provides std::malloc and may also provide ::malloc

Исправление fsb4000, :

Типа того что abs(1.1f) на MSVC возвращало 1.1f, а на gcc+linux вначале приводило к int и возвращало 1.

Прикольно, я не знал.

Да, это именно gcc+linux.

clang+linux возвращает 1.1

https://gcc.godbolt.org/z/rsPYzKseY

Наверное gcc даже формально прав…

Если импортировать из math.h то он выведет 1.1: https://gcc.godbolt.org/z/rcv566c51

А, ну да. Оба варианта возможны:

https://en.cppreference.com/w/cpp/header

the corresponding cxxx headers are allowed to also declare the same names in the global namespace: including definitely provides std::malloc and may also provide ::malloc

Исправление fsb4000, :

Типа того что abs(1.1f) на MSVC возвращало 1.1f, а на gcc+linux вначале приводило к int и возвращало 1.

Прикольно, я не знал.

Да, это именно gcc+linux.

clang+linux возвращает 1.1

https://gcc.godbolt.org/z/rsPYzKseY

Наверное gcc даже формально прав…

Если импортировать из math.h то он выведет 1.1: https://gcc.godbolt.org/z/rcv566c51

Исправление fsb4000, :

Типа того что abs(1.1f) на MSVC возвращало 1.1f, а на gcc+linux вначале приводило к int и возвращало 1.

Прикольно, я не знал.

Да, это именно gcc+linux.

clang+linux возвращает 1.1

https://gcc.godbolt.org/z/rsPYzKseY

Наверное gcc даже прав…

Если импортировать из math.h то он выведет 1.1: https://gcc.godbolt.org/z/rcv566c51

Исправление fsb4000, :

Типа того что abs(1.1f) на MSVC возвращало 1.1f, а на gcc+linux вначале приводило к int и возвращало 1.

Прикольно, я не знал.

Да, это именно gcc+linux.

clang+linux возвращает 1.1

https://gcc.godbolt.org/z/rsPYzKseY

Наверное gcc даже прав…

Исходная версия fsb4000, :

Типа того что abs(1.1f) на MSVC возвращало 1.1f, а на gcc+linux вначале приводило к int и возвращало 1.

Прикольно, я не знал.

Да, это именно gcc+linux.

clang+linux возвращает 1.1

https://gcc.godbolt.org/z/rsPYzKseY