PDA

Просмотр полной версии : [Delphi] Генератор мусора


ex3me
27.07.2009, 16:49
Интересует предмет реализации софта на делфях,
основная задача которого: создать файл и максимально быстро заполнять его мусором (рандомные буквы, цифры и т.д.), до окончания свободного места на диске.

Может у кого завалялось что-нить подобное? :rolleyes:

HakaR
27.07.2009, 16:54
А что сам софтинку навоять не можешь? Там вроде сильно сложного ничего быть не может. Это я так думаю...:)

Gar|k
27.07.2009, 16:55
ну типа эээ


#include <stdio.h>
int main(){
FILE *f=fopen("~temp","w");
while(1) fputc(0x66,f);
return 0;
}


? я просто на си быстрее соображаю чем на паскале ))

ex3me
27.07.2009, 16:57
:D действительно while true do begin... А я как идиот сижу да генераторы словарей переделываю )

Gar|k
27.07.2009, 16:59
LOL

Thenno
29.07.2009, 19:16
Код на паскале:

program tresh;
var
f:text; s:string;
begin
assign (f, 'file.txt');
rewrite (f);
randomize;
repeat
writeln (f,random(256));
until s='bugaga';
close (f);
end.

Или я уже поздно?

slesh
29.07.2009, 22:26
А вот теперь я вам скажу что все преведенные методы - это медленные ))
Потому как запись на винт буферезованная и по сто раз гонять функцию - это бред.
Самый быстрый метод - писать большими блоками.

buf = VirtualAlloc(0, 1024*1024, MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE);
for (i = 0; i<1024*1024; i++) buf[i] = rand() % 256;
...... CreateFile .............
while (1)
{
...... WriteFile(... buf, 1024*1024...) .............
}

Thenno
29.07.2009, 23:53
Был не прав, исправлюсь)

0verbreaK
30.07.2009, 23:42
можно ли назвать "это" генератором мусора?!

desTiny
01.08.2009, 23:52
А вот теперь я вам скажу что все преведенные методы - это медленные ))
Потому как запись на винт буферезованная и по сто раз гонять функцию - это бред.
Самый быстрый метод - писать большими блоками.


а ещё лучше - сразу брать какиен-ть участки памяти уже заполненные. типа секцию дампить без всяких VirtualAlloc'ов и тп.