حدود 1 گیگ رمم خالی داشت هنوز.
حدود 1 گیگ رمم خالی داشت هنوز.
سیستم عاملت 64 بیتیه ؟ یا 32 بیتی ؟
سیستم عامل من 32 هست و 4 گیگ رم دارم یه گیگشو سیستم عامل نمیتونه استفاده کنه ؟
تازه بالا گفتم که با توجه به رم باید تعداد تکرار حلقه ی for رو تغییر بدیم تا کل رم رو پر کنه بدون اینکه error بده .
32 بیتیه، یک گیگشو نمی تونه سیستم عامل استفاده کنه
از این کد استفاده کن مموری رو تا ته می خوره:
فقط باید توش error کمبود فضا را برای جلو گیری از error دادن برنامه ی خودت مدیریت کنی
این هم از کد:
مموری این شکلی میشه:
double *p[100000];
for(int i=0;i<100000;i++)
p[i]=new double[100000];
آخرین ویرایش به وسیله V0RTEX : جمعه 10 دی 1389 در 23:05 عصر
خوب بود؟؟؟
رو کامپیوتر خوذم که اجراش کردم با 4گیگ رم باز هم بیچاره شدم مجبور شدم ریست کنم
با این کد حتی موس تو taskbar نمیره.
آخرین ویرایش به وسیله V0RTEX : جمعه 10 دی 1389 در 23:07 عصر
ک جالبی بود ، ولی کلا مشکل این کد . کد های دیگه اینکه ارور میده اگه میشد روشی پیدا کرد که با توجه به مقدار رم حلقه ی for رو ادامه داد فکر میکنم یه ویروس خوشگل بشه با اون کد ساخت :
سلام.
یک کد نوشتم(همین الان).
اگه اشکالی داشت درست کنید و بعد توی برنامه به کار ببرید... .
long int ram()
{
long int b;
long int i;
union REGS out;
int86(12,&out);
i=(out*1024);
b=(i/(sizeof (double)));
return b;
}
این کد با استفاده از وقفه ی 12H مقدار رم رو بدست میاره...
متغیر i حاصل رو به بایت تبدیل میکنه.
بعد b اون رو بر حجم متغیر های double تغسیم میکنه و به تابع فراخوان بر مبگردونه...
این تابع رو قبل از حلقه فراخوانی کنین و طول حلقه رو با اون مقدار دهی کنین...
اما من تا حالا وقفه ای نفرستاده بودم که ورودی نداشته باشه... ممکنه توی کد نویسیش یک اشکالی وجود داشته باشه...
کد کامل
#include <stdio.h>
#include <memory>
int main()
{
char *buffer[100000];
/*Allocating memory*/
for(int i=0;i<100000;i++)
if((buffer[i]=(char *) malloc(100000))==NULL)
i=INT_MAX;
system("pause");
}
کاملا تست شده و تضمینی
برین حالشو ببرین که دیگه دوران error دادن تموم شد
اگه هم می خواهید بدونید این کد چه کار می کنه باید بگم:
ما به صورت دینامیک اوون قدر memory رو می خوریم تا برنامه error بده و وقتی می خواست error بده error را مدیریت می کنیم و نمی زاریم error بده.
تازه با این که این برنامه error نمیده اما باز هم مهم نیست error بده یا نده.چون memory را free (آزاد) نمی کنیم در نتیجه کامپیوتر همین طوری میریه تو هنگ
به همین سادگی و به همین خوشمزگی(پودر کیک رشد)
ممنون ...
به چه جاهای توپی رسیدیم هااا ...
خوب یکی برای این دو تا برنامه یه اتوران بنویسه :دی
اووووووووووووو
بابا خسته شدیم دیگه ول کن دیگه مگه فقط نمی خواستی یاد بگیری؟؟؟
خوب یاد گرفتی دیگه!!!!!!
ویروس نویسی دیگه کار بدیه تازه جاش هم تو barnamenevis.org نیست!!!!!!!!!!!!
راستی تو سی مگه مقدار رشته ای نیست منظورم string که حافظه بیشتری در رم میگیره و چرا از چندتا مقدار استفاده نکردید و یک سوال دیگه تو سی استریم هم نیست سی شارپ کجایی که قدرتو تازه فهمیدم روی بایتها هم کار کن برنامه مال سی شارپشو خاصی پی ام بده برات بنویسم خوبیش اینه که انتی ویروس اونو ویروس نمی شناسه ولی یک چیز بگم ناراحت بد قولی نشه الان امتحانامه و دانشگاهم یک جای دیگه و به زبان برنامه نویسی خودم دسترسی ندارم چند روز بعد پی ام بده در خدمتم
چرا اون هم میشه
ولی هرجور راحتی من با double راحت ترم
من با long double راحت ترم...8 بایت
البته مشکلاتی هم داره ها...
توی بعضی از کامپایلر ها قاطی میکنه!!!