LINUX.ORG.RU
ФорумTalks

Готов для десктопа!


0

2

Кто таки готов для десктопа, если не линукс?

Ведь

#include <windows.h>
int main() {
    HDC dc = CreateCompatibleDC (NULL);
    SetLayout (dc, LAYOUT_RTL);
    ScaleWindowExtEx (dc, -2147483647 - 1, -1, 1, 1, NULL);
}

приводит к ... <барабанная дробь> BSOD!

Надо будет написать об этом балладу.

★★

Ответ на: комментарий от dexpl
$ i486-mingw32-gcc -lgdi32 -o death.exe death.c
/tmp/ccsBq78E.o:death.c:(.text+0x1e): undefined reference to `CreateCompatibleDC@4'
/tmp/ccsBq78E.o:death.c:(.text+0x37): undefined reference to `SetLayout'
/tmp/ccsBq78E.o:death.c:(.text+0x6a): undefined reference to `ScaleWindowExtEx@24'
collect2: error: ld returned 1 exit status

ЧЯДНТ?

CYB3R ★★★★★
()
Ответ на: комментарий от CYB3R

ЧЯДНТ?

DIIK. УМВР вот с этим:

mingw32-binutils-2.23.52.0.1-1.fc19.x86_64
mingw32-cpp-4.8.0-3.fc19.x86_64
mingw32-crt-2.0.999-0.23.trunk.20130509.fc19.noarch
mingw32-filesystem-97-3.fc19.noarch
mingw32-gcc-4.8.0-3.fc19.x86_64
mingw32-headers-2.0.999-0.23.trunk.20130509.fc19.noarch
mingw-binutils-generic-2.23.52.0.1-1.fc19.x86_64
mingw-filesystem-base-97-3.fc19.noarch

К слову, свежеобновленная 32-битная Win XP SP3 BSOD'ится за милу душу.

dexpl ★★★★★
()
Ответ на: комментарий от dexpl

свежеобновленная 32-битная Win XP SP3 BSOD'ится за милу душу.

А можно фото, а лучше видео пруф?

bk_ ★★
() автор топика
Ответ на: комментарий от bk_

А можно фото, а лучше видео пруф?

Минидамп и/или цитата из eventlog'а зачтутся? Просто проверял на виртуалке в Virtual Box — вместо BSOD'а окно замирает, если отключить автоматическую перезагрузку, лмбо виртуалка перезапускается, если не отключать. Да и нету у меня ни фото-, ни видеотехники.

dexpl ★★★★★
()
Ответ на: комментарий от CYB3R

нужно использовать не магическое число, а константу MIN_INT, тогда везде заведётся.

Да, только s/MIN_INT/INT_MIN/ и добавить #include <limits.h>. Проверил на

Название ОС:                    Microsoft(R) Windows(R) Server 2003 Standard x64 Edition
Версия ОС:                      5.2.3790 Service Pack 2 сборка 3790

dexpl ★★★★★
()
Ответ на: комментарий от smilessss

wine кстати падает с ошибкой деления на ноль

настоящий порт портирует даже баги. Значит, wine - ненастоящий порт :)

bk_ ★★
() автор топика

Баг, кстати, очень интересный. Почти уверен, что в каком нить линуксовом драйвере тоже такой найдется :)

Давайте сделаем небольшой опрос среди C/C++ разработчиков (стажем, >= 2 года опыта). Знали ли вы, что INT_MIN * -1 вызывает исключение?

snizovtsev ★★★★★
()

Запустил. Ничего не произошло. Зачем обманывать?

Windows 8.

Deleted
()
Ответ на: комментарий от aix27249

На самом деле, там даже не деление на ноль, а просто переполнение при операции деления.

bk_ ★★
() автор топика
Ответ на: комментарий от snoopcat

так вот что нужно сделать, чтобы получить в венде бсод...

Надо это приложение переименовать в bsod.exe

Siado ★★★★★
()
Ответ на: комментарий от stevejobs

восьмерочка не падает

32 или 64? С -2147483647 или INT_MIN?

dexpl ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.