· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.WIN32 —› Смерть винде

. 1 . 2 . >>

Посл.отвђт Сообщенiе


Дата: Сен 16, 2004 04:56:08 · Поправил: _DEN_

Почему эта прога:
#include <stdio.h>

void main ()
{
  for (int i=0;i<500;i++)
    printf("\t\t\b\b\b" );
}

Убиваеть XP???


Дата: Сен 16, 2004 05:50:58 · Поправил: q_q

_DEN_
У меня не убивает xpsp1. Компилировал как dosapp и как winapp.


Дата: Сен 16, 2004 07:07:12

q_q
Я компилил VC++.NET 2003 Console App, Release.


Дата: Сен 16, 2004 07:37:13

_DEN_
Я компилил ...
Intel С++ 7.0, VC++ Toolkit 2003, MS VC++ 2005 Express Beta. Console application. Не падает.


Дата: Сен 16, 2004 08:25:11

q_q
Ну значит не зря MS свои сервиспаки выпускает :) У меня просто XP Professional.

Запускаю прогу, сначала пропадает звук, через секунду черный экран, еще через долю секунды - синий :)


Дата: Сен 16, 2004 09:43:43

Круто, теперь можно над кемнибудь подшутить :))


Дата: Сен 16, 2004 10:30:26

w2k "дышит" ровно :)


Дата: Сен 16, 2004 10:56:29

Windows 2000 Professional, no SP: достаточно 3-х проходов цикла.


Дата: Сен 16, 2004 11:13:58

ну так и почему?

PS
w2kproSP4 - жива


Дата: Сен 16, 2004 12:08:45

попробовал на асме - работает в таком виде:
	.data
	mess_l	dd	?
	death_mess	db	9,9,8,8,8,0
	MESS_LENGTH	equ	$ - death_mess
	LOOPS_COUNT	equ	4

	.code
_start:
	push	STD_OUTPUT_HANDLE
	call	GetStdHandle
	mov	ebx,eax

	mov	edi,LOOPS_COUNT
death_loop:
	push	0
	push	offset mess_l
	push	MESS_LENGTH
	push	offset death_mess
	push	ebx		
	call	WriteConsole	
	
	dec	edi
	jnz	death_loop
	
	push	0
	call	ExitProcess
	end	_start

поковырямся во WriteConsole...


Дата: Сен 16, 2004 12:11:12

vinnie_pooh
Зачем ноль после забоев?


Дата: Сен 16, 2004 13:10:24 · Поправил: vinnie_pooh

q_q

Ну, типа sz-строка. Или в консоль можно писать, просто указав количество выводимых символов? Не знаю, это вообще моя первая консольная программа.

Дошел до ntoskernel!WaitForMutexOject(), глубже копать нету сил, замучили перезагрузки.

Насчет почему: \b - символ отката, видимо он декрементирует накой-то указатель в 0-м кольце, и что-то затирается. В нашем случае '\b' на один больше, чем '\t', а со строкой "\t\t\t\b\b\b" все работает нормально.

ЗЫ. Под Айсом прога убивает винду на первой итерации.


Дата: Сен 16, 2004 13:44:15

vinnie_pooh
В третьем параметре указывается количество записываемых символов (не путать с байтами), поэтому необходимость в определении конца строки отсутствует.


Дата: Сен 16, 2004 14:51:05 · Поправил: vinnie_pooh

q_q
спасибо, у меня в справочнике по WinAPI нет описания WriteConsole().
„не путать с байтами“
наверное, потому что еще существует WriteConsoleW.


Дата: Сен 16, 2004 19:19:44

Почему убивает ХР? Потому что ХР - дерьмо плюшевое.

ЗЫ: не воспринимайте меня всерьез - я слишком пъян.

. 1 . 2 . >>


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.107