• Здраво и добредојдовте на форумот на IT.mk.

    Доколку сеуште не сте дел од најголемата заедница на ИТ професионалци и ентузијасти во Македонија, можете бесплатно да се - процесот нема да ви одземе повеќе од 2-3 минути, а за полесна регистрација овозможивме и регистрирање со Facebook и Steam.

1 ТВ Фајл (Терабајт) ( Ц++ )

  • Ја почнал/а темата
  • #1

Coolzrock

Intern
28 октомври 2008
139
5
Овој код ќе креира фајл со големина од 1 терабајт
Истотака можете да го најдете и тука

PHP:
#define _WIN32_WINNT 0x0500
#include <windows.h>
#include <stdio.h>
#include <Winioctl.h>//Dev C++ if use
int main(int argc, char* argv[])
{
 
 
HANDLE h = CreateFile("geek.txt", GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, 0, NULL)
 
DWORD dw
DeviceIoControl(h, FSCTL_SET_SPARSE, NULL, 0, NULL, 0, &dw, NULL)
 
LONG lDist = 4095
SetFilePointer(h, 0, &lDist, FILE_BEGIN)
SetEndOfFile(h)
 
CloseHandle(h)
system("PAUSE")
return 0
}
 

maximilian

Gaining Experience
26 март 2008
1,064
74
Dude, дај веќе ако пастираш кодови од некаде пиши од кај ти се, и молим те ако пастираш кодови, пастирај некои корисни. Прво стави код за вирус кој ни самиот ти не знаеш што прави, а сега ова :ua:

Немој да се навредиш од мојава сугестија, се ти кажувам со добра намера :)
 

Jano

Intern
8 февруари 2008
281
11
Го проба дали работе
зашто ако неаме толку мемориа мислам дека нема да направи 1 терабајт а?:ha:
 

Alexandar

Gaining Experience
21 мај 2007
2,514
90
Simple:

Код:
#include <iostream>

using namespace std;

struct lol
{
	int zomg[1000];
};

int main()
{	
	while (true) lol *wtf = new lol;
	return 0;
}
 

kirocone

Intern
18 јануари 2008
29
2
Simple:

Код:
#include <iostream>

using namespace std;

struct lol
{
	int zomg[1000];
};

int main()
{	
	while (true) lol *wtf = new lol;
	return 0;
}

Е со ова ништо не правиш. Ќе зафатиш само 4КБ од физичката меморија (RAM). После секој циклус од while-ot, има едно што се вика (кај јава) Garbage Disposall, шо ги уништува неискористените покажувачи (слично треба да е и со С).
 

MetalGear

On your way to fame
14 април 2007
2,997
510
www.ibiz.mk
јава ти се грижи за тоа (околѕ меморијата)
но кај ц++ а мислам дека и кај ц е така
оставено е на програмерот
 

maximilian

Gaining Experience
26 март 2008
1,064
74
Ја мислам дека кога работиш со динамична меморија, додека програмерот не ја ибрише променливата (т.е. на секое new не се искористи delete), таа ќе си остане во меморијата, не зависно дали завршил блокот или не. Доколку се работи со статични променливи, променливата “живее“ се до завршувањето на блокот, т.е. после декларирањето на една променлива во еден блок, на крајот од блокот, комилаторот автоматски ја уништува.

Correct me if I'm wrong, pls
 

MetalGear

On your way to fame
14 април 2007
2,997
510
www.ibiz.mk
Во право си али тоа важи за ц++ и ц
јавата си се грижи за тоа и си ја чисти меморијата

кај ц++ надвор од блокот каде е променливата неупотреблива е но во меморијата е
додека јавата ги дислоцира од меморијата
 

Alexandar

Gaining Experience
21 мај 2007
2,514
90
Е со ова ништо не правиш. Ќе зафатиш само 4КБ од физичката меморија (RAM). После секој циклус од while-ot, има едно што се вика (кај јава) Garbage Disposall, шо ги уништува неискористените покажувачи (слично треба да е и со С).
Во C++ нема таква компонента која се грижи за чистење на меморијата. Пробај компајлирај ја програмата и стартувај ја па провери сам. За Јава не знам, кај C# (поточно кај .NET) постои таква компонента која се вика Garbage Collector и која ја чисти меморијата од непотребните објекти кон кои нема референца (покажувач), олеснувајќи му ја работата на програмерот, но и тоа се заобиколува, ќе направиш една листа на поврзани објекти каде кон секој има референца :)
 

Нови мислења

Последни Теми

Статистика

Теми
43,528
Мислења
822,635
Членови
28,052
Најнов член
Ttifun
На врв Дно