Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   [Delphi] Генератор мусора (https://forum.antichat.xyz/showthread.php?t=131620)

ex3me 27.07.2009 16:49

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

Может у кого завалялось что-нить подобное? :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

Цитата:

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

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


Время: 11:25