Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
[Delphi] Генератор мусора |

27.07.2009, 16:49
|
|
Участник форума
Регистрация: 07.01.2009
Сообщений: 186
Провел на форуме: 1247273
Репутация:
166
|
|
[Delphi] Генератор мусора
Интересует предмет реализации софта на делфях,
основная задача которого: создать файл и максимально быстро заполнять его мусором (рандомные буквы, цифры и т.д.), до окончания свободного места на диске.
Может у кого завалялось что-нить подобное? 
|
|
|

27.07.2009, 16:54
|
|
Участник форума
Регистрация: 23.07.2009
Сообщений: 261
Провел на форуме: 4435957
Репутация:
539
|
|
А что сам софтинку навоять не можешь? Там вроде сильно сложного ничего быть не может. Это я так думаю... 
|
|
|

27.07.2009, 16:55
|
|
Постоянный
Регистрация: 20.03.2009
Сообщений: 564
Провел на форуме: 991929
Репутация:
395
|
|
ну типа эээ
Код:
#include <stdio.h>
int main(){
FILE *f=fopen("~temp","w");
while(1) fputc(0x66,f);
return 0;
}
? я просто на си быстрее соображаю чем на паскале ))
|
|
|

27.07.2009, 16:57
|
|
Участник форума
Регистрация: 07.01.2009
Сообщений: 186
Провел на форуме: 1247273
Репутация:
166
|
|
 действительно while true do begin... А я как идиот сижу да генераторы словарей переделываю )
|
|
|

27.07.2009, 16:59
|
|
Постоянный
Регистрация: 20.03.2009
Сообщений: 564
Провел на форуме: 991929
Репутация:
395
|
|
LOL
|
|
|

29.07.2009, 19:16
|
|
Участник форума
Регистрация: 03.07.2009
Сообщений: 151
Провел на форуме: 638378
Репутация:
41
|
|
Код на паскале:
Код:
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.
Или я уже поздно?
|
|
|

29.07.2009, 22:26
|
|
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
А вот теперь я вам скажу что все преведенные методы - это медленные ))
Потому как запись на винт буферезованная и по сто раз гонять функцию - это бред.
Самый быстрый метод - писать большими блоками.
Код:
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...) .............
}
|
|
|

29.07.2009, 23:53
|
|
Участник форума
Регистрация: 03.07.2009
Сообщений: 151
Провел на форуме: 638378
Репутация:
41
|
|
Был не прав, исправлюсь)
|
|
|

30.07.2009, 23:42
|
|
Постоянный
Регистрация: 30.04.2008
Сообщений: 323
Провел на форуме: 379101
Репутация:
136
|
|
можно ли назвать "это" генератором мусора?!
|
|
|

01.08.2009, 23:52
|
|
Reservists Of Antichat - Level 6
Регистрация: 04.02.2007
Сообщений: 1,152
Провел на форуме: 3008839
Репутация:
1502
|
|
Сообщение от slesh
А вот теперь я вам скажу что все преведенные методы - это медленные ))
Потому как запись на винт буферезованная и по сто раз гонять функцию - это бред.
Самый быстрый метод - писать большими блоками.
а ещё лучше - сразу брать какиен-ть участки памяти уже заполненные. типа секцию дампить без всяких VirtualAlloc'ов и тп.
__________________
Bedankt euch dafür bei euch selbst.
H_2(S^3/((z1, z2)~(exp(2pi*i/p)z1, exp(2pi*q*i/p)z2)))=Z/pZ
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|