View Full Version : سوال: يه برنامه كه حافظه Ram و CPU را كاملا مشغول كنه طوري كه سيستم از كار بيفته.
hamed59
جمعه 03 دی 1389, 00:13 صبح
سلام و خسته نباشيد
چوري ميشه حافظه Ram و CPU را كاملا مشغول كرد.
ميشه تو اين زمنيه يه كد برنامه در اختيار من بزاريد
با تشكر
voiceoffox
جمعه 03 دی 1389, 02:05 صبح
سلام و خسته نباشيد
چوري ميشه حافظه Ram و CPU را كاملا مشغول كرد.
ميشه تو اين زمنيه يه كد برنامه در اختيار من بزاريد
با تشكر
سلام !!
نمیدنم منظورتون کد های پیشرفته اس یا ساده !
اگه پیشرفته رو میگین که نمیدونم ولی راه های ساده :
1. استفاده از for های تودرتو و دراز با اعداد خفن
2. استفاده از شرط های همیشه درست در while - for 0 (مثلا تا وقتی 1<2 !)
3. استفاده مدام از دستورات تاخیر (انداختن دستور تاخیرتو for )
فکر کنم همینا بدرد بخوره ... اگه منظورتون پیشرفته اس که نمدنم ! :اشتباه:
hamed59
جمعه 03 دی 1389, 08:07 صبح
ممنون از جوابتون
با اين دستورات فقط CPU درگير ميشه.من ميخوام حافظه RAM رو هم درگير كنم.
مرسي
rexi1r
جمعه 03 دی 1389, 10:39 صبح
تازه با ایندستورات که این دوستمون میگه کل cpu هم اشغال نمیشه اگه دقت کرده باشین نهایت استفاده از cpu تو ویندوز xp واسه برنامه های ++c ، 50 درصده و این مقدار برای ویندوز 7 ، 25 درصده من هرکاری هرکردم نتونستم از این مقدار بیشتر درگیرش کنم.
voiceoffox
جمعه 03 دی 1389, 11:05 صبح
اره ... متاسفانه به این نکات توجه نکرده بودم ... :اشتباه: ممنون از این که بهم گفتن !
ولی نکته مهم اینه که ما باید هدفمون رو مشخص کنیم ... :لبخند: ((هدف از نوشتن این برنامه چبه ؟ و قراره برای چه این کارو انجام بده ؟))
سوال مهم اونه !! :چشمک:
اگه منظورمون نوشتن یه جور برنامه مردم آزار هستش که با همون کارایی که گفتم هم میشه درستش کرد.
اما ... اگر این برنامه کاربردی نیست و فقط برای یادگیری هستش ... که درسته و من اشتباه کردم !!! :اشتباه:
در این مورد چیزی نمدنم ... اما سعی میکنم تا چند روز آینده یه چیزایی گیربیارم ... شاید پیدا شد ! :لبخند:
و لطفا اگر کسی میدونه بیاد بگه ...
hamed59
جمعه 03 دی 1389, 12:44 عصر
اين برنامه واسه مردم آزاري نيست.يه پروژه هستش كه فكر من رو حسابي مشغول كرده.
ممنون ميشم كه كمك كنيد.
Pouri_sb
جمعه 03 دی 1389, 12:58 عصر
می نونی این کارو بکنی که هی بیاد نیوفلدر بسازه! اگر خواستی می تونی توش یه چیزی هم کپی کنی!
voiceoffox
جمعه 03 دی 1389, 19:14 عصر
اين برنامه واسه مردم آزاري نيست.يه پروژه هستش كه فكر من رو حسابي مشغول كرده.
ممنون ميشم كه كمك كنيد.
می بخشین !!! :اشتباه: گفتم شاید زدین تو کار ویروس نویسی ! :بامزه:
اتفاقا خیلی جالبه ... برای منم این پروزه مهم شده ... :لبخند:
می نونی این کارو بکنی که هی بیاد نیوفلدر بسازه! اگر خواستی می تونی توش یه چیزی هم کپی کنی!
فکر نکنم این کاری که دوستمون میگن جواب بده ... فعلا نمیتونم امتحانش کنم ... ولی احتمالا ... نمیدونم ... شایدم جواب بده ... :متفکر:
ولی اون طوری که من تو تصورم هست ... استفاده از For های با ارقام بالا و تودرتو خیلی بهتر از ساخت نیو فولدر باید جواب بده ... نمیدونم !!! :گریه:
اما ... :تشویق:
حالا که این دوستمون بحث نیو فولدر رو پیش کشیدن یه راه جالب به ذهنم رسید ... :قهقهه:
اگه ما مرتبا به برنامه بگیم که یک فایل حجیم (عکس و فیلم و یا هر چیزدیگه ای ...) رو همزمان در چند جا کپی کنه و هی این کارو ادامه بده ... شاید بشه سیستم رو هنگوند !!! :بامزه:
tdkhakpur
جمعه 03 دی 1389, 21:43 عصر
چوري ميشه حافظه Ram و CPU را كاملا مشغول كرد.
داخل ویندوز نمیتونی این کار رو انجام بدید مگر اینکه سیستم عامل رو با استفاده از api از کار بندازی تا نتونه برای سایر پردازشها زمانی بررسی بده.
ولی داخل داس یک while که شرط true داشته باشه میتونه کارساز یاشه در ضمن وقفه ها رو هم بوسیله cli که مریوطه به دستورات اسمبلی هست از کار بندازید.
voiceoffox
شنبه 04 دی 1389, 12:22 عصر
داخل ویندوز نمیتونی این کار رو انجام بدید مگر اینکه سیستم عامل رو با استفاده از api از کار بندازی تا نتونه برای سایر پردازشها زمانی بررسی بده.
ولی داخل داس یک while که شرط true داشته باشه میتونه کارساز یاشه در ضمن وقفه ها رو هم بوسیله cli که مریوطه به دستورات اسمبلی هست از کار بندازید.
آخه داس دیگه قدیمی شده ... مطمئنین تو ویندوز جواب نمده ؟ :ناراحت:
ممنون میشم اگه یکم دیگه توضیح بدین ... یا اقلا به یه جایی ارجا بدن !!! :لبخند:
ali najafi
شنبه 04 دی 1389, 17:06 عصر
سلام به همگی!
استفاده از فور حالت پلکانی داره!نمیتونه سریع کار رو تموم کنه!
به نظر من باید یا تعداد زیادی ثبات از سی پی یو گرفت!پر کردن رم خیلی سخت نیست!
برای مشغول کردن سی پی یو باید یک عالمه عملیات منطقی گذاشت.مثلا یک فایل رو بی نهایت بار رمز گذاری کنه!
متغیر های عمومی اگر دارای مقدار اولیه نباشند برابر با صفر اند.متغیر های long double هشت بایتی اند.کافیه برای یک رم 1 گیگ یک آرایه به طول 125000000 ایجاد بشه(عمومی)
از این مقدار حد اکثرش رو بساز و بقیه اش هم میشه با خرت و پرت های دیگه پر کرد.حالا کافیه یک فایه یک فایل کپی بشه...
مشکل اصلی سی پی یو هست!
Felony
شنبه 04 دی 1389, 17:36 عصر
متغیر های عمومی اگر دارای مقدار اولیه نباشند برابر با صفر اند.متغیر های long double هشت بایتی اند.کافیه برای یک رم 1 گیگ یک آرایه به طول 125000000 ایجاد بشه(عمومی)
از این مقدار حد اکثرش رو بساز و بقیه اش هم میشه با خرت و پرت های دیگه پر کرد.حالا کافیه یک فایه یک فایل کپی بشه...
فکر کردی داری داری تو Ring 0 کد مینویسی ؟!
برنامه شما به صورت User Mode اجرا میشه ، تو User Mode پروسه برنامه شما یه دید مجازی از حافظه داره و Memory Management ویندوز طوری حافظه رو مدیریت میکنه که هر پروسه خیال میکنه فضای زیادی به صورت اختصاصی در اختیار خودش داره ، تازه بحث Page File به کنار ... !
ali najafi
شنبه 04 دی 1389, 18:23 عصر
قبول دارم!توی ویندوز این کار خیلی سخته!
شما اگه بتونی رم رو پر کنی حریف هارد که نمیشی!
یا باید توی داس این کار رو کرد یا توی ویندوز از همین روش های سنتی خودمون استفاده کنیم.
من با یک جدول ضرب سی پی یو رو تا 60 الی 90 و خورده ای درصد اشغال کردم.تا جایی که دیگه موس به زور تکون میخورد!
راه دوم استفاده از تعداد بسیار زیادی وقفه کرد که پشت سر هم سی پی یو رو آزار بدن!البته این هم ایراد هایی داره!مثلا حتی تکون خوردن موس هم ما رو دچار مشکل میکنه!
Pouri_sb
شنبه 04 دی 1389, 19:29 عصر
راهی هست که پاور سیور رو فعال کرد، بدون اینکه کاربر بدون مراجعه به اون قسمته کنترل پنل بفهمه؟ چون رو حالت پلور سیور قابلیت سیستم پایین می آد.
یه راهه دیگه ای که به ذهنم می رسه کپی کردن یه آهنگ تو نیو فلدره i هست اون هم رو دسکتاپ! قشنگ بعده چند دقیقه ترتیبه سیستمه طرف مقابل رو میده، می تونین اتو رانشو طوری تنظیم کنین که با باز کردنه یه برنامه شروع به کار کنه
voiceoffox
شنبه 04 دی 1389, 20:56 عصر
کسی نیست یه نتیجه قطعی بگه ؟ .... :ناراحت:
اصن یه فکر باحال ... اگه همه این کار ها رو با هم انجام بدم ... بالاخره پدر سیستم درمیاد دیگه ... ! یکیش که جواب میده دیگه !!! :بامزه:
ali najafi
یک شنبه 05 دی 1389, 16:12 عصر
به احتمال زیاد بشه از توی فایل های ریجستری این کار رو کرد!اما خیلی فایده نداره!
منظور شما رو از کپی کردن آهنگ نمیفهمم!
بهترین راه اینه که سی پی یو یک فایل ججیم رو رمز گذاری کنه و رم اون رو کپی کنه!و دوباره رمز گذاری و... .
اون وقته که :متعجب:.البته باید تو زمان کار سی پی یو سر رم رو گرم کرد و بالعکس.
راه بعدی وقفه هاست:متفکر:!که البته خیلی هم جالب نیست.:اشتباه:
Pouri_sb
یک شنبه 05 دی 1389, 16:15 عصر
فایله حجیم مشکلش اینه که کپی کردنش طول می کشه،
راه دیگه ای که به ذهنم رسید اینه که چندین برنامه حاوی حلقه بی نهایت رو باهم باز کنیم، اینطوری کل سی پی یو رو فک کنم مشغول کنه!
voiceoffox
یک شنبه 05 دی 1389, 23:26 عصر
یه سوال داشتم : چرا استفاده از وقفه ها خوب نیست ؟! :متفکر:
در ضمن من با چند تا فور سرکاری و توهمتوهم و کپی کردن پیاپی یه عکس ساده تونستم سی پی یو رو به 91 درصد برسونم !!! اما هر چی زور زدم بالاتر نرفت که نرفت ! :افسرده:
ali najafi
دوشنبه 06 دی 1389, 07:52 صبح
اگه کار ساده باشه ویندوز اجازه نمیده که زیاد سی پی یو در گیر بشه!اگه توی ویندوز نباشی و سی پی یو داغ کنه ریست میشه!
در ضمن باید هم طول بکشه!
hamed59
سه شنبه 07 دی 1389, 07:43 صبح
خوب اين راه حل كپي فايل زياد جالب نيست.يك راه حل اصولي بگيد.به نظر من اگه بتونيم همزمان رم و cpuرو مشغول كنيم همين طور كه دوستان گفتند با عمليات منطقي ، عمليات رمز نگاري و... شايد به نتيجه برسيم.
ممنون ميشم دوستان نمونه كد هايي كه نوشتن رو اينجا قرار بدن تا به يه نتيجه درست برسيم.
ممنون
Felony
سه شنبه 07 دی 1389, 08:19 صبح
راه دوم استفاده از تعداد بسیار زیادی وقفه کرد که پشت سر هم سی پی یو رو آزار بدن!
چه وقفه ای میخواین بفرستین ؟!
تا وقتی تو User Mode کد مینویسید فراتر از اون نمیتونید عمل کنید ، یه نمونه برنامه با دلفی نوشتم که تو 2 تا Thread یک سری محاسبات ریاضی انجام میده ، Usage پردازنده هم به 100 میرسه ولی برای سیستم هیچ مشکلی پیش نمیاد چون ویندوز Multi Thread هست و این موارد در سطح Kernel به صورت دیگه ای دیده و کنترل میشن .
tdkhakpur
سه شنبه 07 دی 1389, 09:46 صبح
آخه داس دیگه قدیمی شده ... مطمئنین تو ویندوز جواب نمده ؟ :ناراحت:
کی همچین حرفی رو زدیم!
ممنون میشم اگه یکم دیگه توضیح بدین ... یا اقلا به یه جایی ارجا بدن !!! :لبخند:
به کجا ارجا بدیم کاری که میخوایید تا حالا به درد کسی نخورده که وقت بزاره و تحقیقی در موردش انجام بده فقط این کار باعث میشه بهتر با کار CPU و RAM آشنا بشید. البته راههای بهتری برای مطالعه در این زمینه وجود داره و میتونید کتاب در مورد پردازنده های بالای 8088 یعنی 80286 به بعد در این کتابها قسمت مد حفاظت شده رو مطالعه کنید.
در هر صورت میشه این کار رو داخل ویندوز انجام داد ولی باید با api سیستم مرکزی ویندوز رو از کار بندازید یه نگاهی به لیست پردازشهای taskManager بندازید یکی از پردازشها مربوط به سیستم مرکزی ویندوز هست اگر متوقف بشه ویندوز از کار میفته.
voiceoffox
سه شنبه 07 دی 1389, 11:56 صبح
درسته این پروژه کاربردی نیس و بدرد هیشکی هم نخورده ... اما بما کمک میکنه با ساختار .............. همون چیزی که شما اشاره کردی !!! :بامزه:
حالا این کتابا چین ... ای بوک ای چیزی سراغ درن ؟! ممنون میشم کمک کنن ...
Pouri_sb
سه شنبه 07 دی 1389, 22:54 عصر
این برنامه یه حلقه بی نهایت سادست، یدونه که هست، یه سه تا کپی دیگه ازش درست کنین سی پی یو یوزیج رو می کنه 100!
voiceoffox
چهارشنبه 08 دی 1389, 10:52 صبح
این برنامه یه حلقه بی نهایت سادست، یدونه که هست، یه سه تا کپی دیگه ازش درست کنین سی پی یو یوزیج رو می کنه 100!
دوست عزیز نتونستم اجراش کنم ... :گریه: میشه کد هاشو بذارین ... (تو خود پست) :ناراحت:
Pouri_sb
چهارشنبه 08 دی 1389, 14:05 عصر
کد خاصی نیست :دی، با فریم ورک چهار نوشته بودم، ببخشید این فایل ضمیمه جدید رو با فریم ورک 2 نوشتم دیگه فکر کنم کار کنه، 4 تا فایله exe رو با هم باز کن به 100% می رسه
اتوران اومدم بسازم براش، آنتی ویریوس دلیتش کرد :دی
#include "stdafx.h"
#include "iostream"
using namespace std;
int main()
{
int a=15000000;
while(1){
a++;
a--;
}
return 0;
}
ali najafi
چهارشنبه 08 دی 1389, 18:44 عصر
چرا اینجا تعطیله؟؟؟تازه داشت جالب میشد!!!
فکر کنم دیگه به اندازه ی کافی اینجا ایده باشه!!!
بهتره تست کنیم ببینیم کدوم بهتر کار مبکنه!!!
voiceoffox
چهارشنبه 08 دی 1389, 20:13 عصر
چرا اینجا تعطیله؟؟؟تازه داشت جالب میشد!!!
فکر کنم دیگه به اندازه ی کافی اینجا ایده باشه!!!
بهتره تست کنیم ببینیم کدوم بهتر کار مبکنه!!!
تعطیل نیست که ... حالا شما ایده ای چیزی درن ؟ :بامزه: اگه درن بگین ... هنوز تموم نشده ... :قهقهه:
ali najafi
چهارشنبه 08 دی 1389, 22:16 عصر
3 صفحه ایده کمه؟؟؟
ali najafi
پنج شنبه 09 دی 1389, 11:25 صبح
این که چند تا از یک برنامه رو باز کنیم اصلا جالب نیست!
یا باید یک حلقه ی خیلی سنگین باشه،یا چند تا حلقه توی یک برنامه که با هم باز بشن و یا این که 4 تا فایل باشند و یک برنامه ی دیگه هم باشه که 4 تاشون رو یک جا باز کنه!!!
راه اولی راحت تره!!!
voiceoffox
پنج شنبه 09 دی 1389, 11:31 صبح
3 صفحه ایده کمه؟؟؟
هر چی بیشتر بهتر ...
Arcsinos
پنج شنبه 09 دی 1389, 13:34 عصر
دوستان این برنامه رم رو تو چند ثانیه پر میکنه : مواظب باشید به سیستموتون لطمه نزنه :
#include "stdafx.h"
#include "iostream"
using namespace std;
struct node
{
long double i;
node *next;
};
node *getnode()
{
node* q;
q= new struct node;
return q;
}
int main()
{
node *top;
top=getnode();
while(1)
{
node *p;
p=getnode();
p->next=top;
top=p;
}
return 0;
}یا میتونید از این استفاده کنید که تو یه ثانیه پر میکنه :
#include "stdafx.h"
#include "iostream"
using namespace std;
struct node
{
long double i1;
long double i2;
long double i3;
long double i4;
long double i5;
long double i6;
long double i7;
long double i8;
long double i9;
long double i10;
long double i11;
long double i12;
long double i13;
long double i14;
long double i15;
long double i16;
long double i17;
long double i18;
node *next;
};
node *getnode()
{
node* q;
q= new struct node;
return q;
}
int main()
{
node *top;
top=getnode();
while(1)
{
node *p;
p=getnode();
p->next=top;
top=p;
}
return 0;
}
Pouri_sb
پنج شنبه 09 دی 1389, 13:48 عصر
یا این که 4 تا فایل باشند و یک برنامه ی دیگه هم باشه که 4 تاشون رو یک جا باز کنه!!!
راه اولی راحت تره!!!
اتو ران اومدم برای هر چهار تا ساختم اما آنتی ویروس فوری دلیتش کرد :دی
اتوران ساختن رو خوب بلد نیستم!
ali najafi
پنج شنبه 09 دی 1389, 14:41 عصر
دوستان این برنامه رم رو تو چند ثانیه پر میکنه : مواظب باشید به سیستموتون لطمه نزنه :
#include "stdafx.h"
#include "iostream"
using namespace std;
struct node
{
long double i;
node *next;
};
node *getnode()
{
node* q;
q= new struct node;
return q;
}
int main()
{
node *top;
top=getnode();
while(1)
{
node *p;
p=getnode();
p->next=top;
top=p;
}
return 0;
}یا میتونید از این استفاده کنید که تو یه ثانیه پر میکنه :
#include "stdafx.h"
#include "iostream"
using namespace std;
struct node
{
long double i1;
long double i2;
long double i3;
long double i4;
long double i5;
long double i6;
long double i7;
long double i8;
long double i9;
long double i10;
long double i11;
long double i12;
long double i13;
long double i14;
long double i15;
long double i16;
long double i17;
long double i18;
node *next;
};
node *getnode()
{
node* q;
q= new struct node;
return q;
}
int main()
{
node *top;
top=getnode();
while(1)
{
node *p;
p=getnode();
p->next=top;
top=p;
}
return 0;
}
دوست عزیز از اینی که نوشتی هیچی نفهمیدم!!!
میشه یه توضیحاتی بدی؟؟؟
ali najafi
پنج شنبه 09 دی 1389, 14:45 عصر
اتو ران اومدم برای هر چهار تا ساختم اما آنتی ویروس فوری دلیتش کرد :دی
اتوران ساختن رو خوب بلد نیستم!
خوب دیگه...
اگه بشه با یک برنامه که خودمون ساختیم بازش کنیم عالیه...
البته کد آخرین پست قبل از من هم خوبه ها!!! البته یا یک حدودی شبیه اولین طرحیه که من دادم!!!
Arcsinos
پنج شنبه 09 دی 1389, 23:29 عصر
دوست عزیز از اینی که نوشتی هیچی نفهمیدم!!!
میشه یه توضیحاتی بدی؟؟؟
چرا که نه :
این برنامه اول میاد یه ساختار با نام nod درست میکنه که شامل یه عدد long double و یه اشاره گر به یه nod دیگه .
حالا تو برنامه ی اصلی گفتم هی بیاد از این nod ها درست کنه و node top که بالا ترین nod هست به اون nod ایجاد شده اشاره کنه ،
حالا تو اون حلقه یwhile انقدر از اون nod ها درست میکنیم تا ram پر میشه ،
حالا تو کد دوم به جای یه دونه عدد long double 20 تا درست میکنیم تا حافظه زودتر پر شه .
کافی بود
ali najafi
جمعه 10 دی 1389, 10:15 صبح
جالبه ولی مطمئنی که کار میکنه؟؟؟
تستش کردی؟؟؟
Arcsinos
جمعه 10 دی 1389, 11:09 صبح
خب من که کد رو گذاشتم میتونی امتحانش کنی ، بهتره از کد دومی استفاده کنی که زود تر به نتیجه برسی . :بوس:
اصلا از این استفاده کن که زیاد هم پیچیده نیست :
#include "stdafx.h"
#include "iostream"
using namespace std;
struct node
{
long double i;
};
node *getnode()
{
node* q;
q= new struct node;
return q;
}
int main()
{
while(1)
{
node *p;
p=getnode();
}
return 0;
}
Pouri_sb
جمعه 10 دی 1389, 11:09 صبح
برنامه خوبیه ولی بعده اینکه 2.2 گیگ رم رو پر کرد این ارور رو داد:
Unhandled exception at 0x75e39617 in h.exe: Microsoft C++ exception: std::bad_alloc at memory location 0x0014f6ec..
این قسمت از کدت رو هم نفهمیدم می شه یه توضیح بدی :دی
node *getnode()
{
node* q;
q= new struct node;
return q;
}
Arcsinos
جمعه 10 دی 1389, 12:05 عصر
دوست عزیز چون که رمت پر شد این ارور رو داد دیگه ، اون قسمتی که بعد از ارور یه فلش سبز میاد کنارش میخواد یه nod جدید رو تو حافظه درست کنه که نمیتونه درست کنه و از برنامه خارج میشه ، باید یه جوری به مقدار خالی رم دسترسی پیدا کنیم و به اندازه ی اون حلقه ی for رو ادامه بدیم . الان دیگه ایراد نمیگیره :
#include "stdafx.h"
#include "iostream"
using namespace std;
struct node
{
long double i;
};
int main()
{
int i=0;
for(i=0;i<28500000;i++)
{
node *p;
p= new struct node;
}
while(1)
{
}
return 0;
}
Pouri_sb
جمعه 10 دی 1389, 13:27 عصر
حدود 1 گیگ رمم خالی داشت هنوز.
Arcsinos
جمعه 10 دی 1389, 13:35 عصر
سیستم عاملت 64 بیتیه ؟ یا 32 بیتی ؟
سیستم عامل من 32 هست و 4 گیگ رم دارم یه گیگشو سیستم عامل نمیتونه استفاده کنه ؟
تازه بالا گفتم که با توجه به رم باید تعداد تکرار حلقه ی for رو تغییر بدیم تا کل رم رو پر کنه بدون اینکه error بده .
Pouri_sb
جمعه 10 دی 1389, 15:48 عصر
32 بیتیه، یک گیگشو نمی تونه سیستم عامل استفاده کنه
V0RTEX
جمعه 10 دی 1389, 22:54 عصر
از این کد استفاده کن مموری رو تا ته می خوره:
فقط باید توش error کمبود فضا را برای جلو گیری از error دادن برنامه ی خودت مدیریت کنی
این هم از کد:
double *p[100000];
for(int i=0;i<100000;i++)
p[i]=new double[100000];
مموری این شکلی میشه::گیج:
V0RTEX
جمعه 10 دی 1389, 22:55 عصر
خوب بود؟؟؟
رو کامپیوتر خوذم که اجراش کردم با 4گیگ رم باز هم بیچاره شدم مجبور شدم ریست کنم
با این کد حتی موس تو taskbar نمیره:کف:.
Arcsinos
شنبه 11 دی 1389, 06:05 صبح
ک جالبی بود ، ولی کلا مشکل این کد . کد های دیگه اینکه ارور میده اگه میشد روشی پیدا کرد که با توجه به مقدار رم حلقه ی for رو ادامه داد فکر میکنم یه ویروس خوشگل بشه با اون کد ساخت : :لبخند:
ali najafi
شنبه 11 دی 1389, 10:06 صبح
سلام.
یک کد نوشتم(همین الان).
اگه اشکالی داشت درست کنید و بعد توی برنامه به کار ببرید... .
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 تغسیم میکنه و به تابع فراخوان بر مبگردونه...
این تابع رو قبل از حلقه فراخوانی کنین و طول حلقه رو با اون مقدار دهی کنین...
اما من تا حالا وقفه ای نفرستاده بودم که ورودی نداشته باشه... ممکنه توی کد نویسیش یک اشکالی وجود داشته باشه...
V0RTEX
شنبه 11 دی 1389, 15:15 عصر
کد کامل
#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 دادن تموم شد:شیطان:
V0RTEX
شنبه 11 دی 1389, 15:20 عصر
اگه هم می خواهید بدونید این کد چه کار می کنه باید بگم:
ما به صورت دینامیک اوون قدر memory رو می خوریم تا برنامه error بده و وقتی می خواست error بده error را مدیریت می کنیم و نمی زاریم error بده.
تازه با این که این برنامه error نمیده اما باز هم مهم نیست error بده یا نده.چون memory را free (آزاد) نمی کنیم در نتیجه کامپیوتر همین طوری میریه تو هنگ
به همین سادگی و به همین خوشمزگی(پودر کیک رشد):لبخند:
voiceoffox
یک شنبه 12 دی 1389, 10:31 صبح
ممنون ...
به چه جاهای توپی رسیدیم هااا ...
Pouri_sb
دوشنبه 13 دی 1389, 23:12 عصر
خوب یکی برای این دو تا برنامه یه اتوران بنویسه :دی
V0RTEX
سه شنبه 14 دی 1389, 21:42 عصر
اووووووووووووو:متعجب::شیطا ::عصبانی++:
بابا خسته شدیم دیگه ول کن دیگه مگه فقط نمی خواستی یاد بگیری؟؟؟
خوب یاد گرفتی دیگه!!!!!!
ویروس نویسی دیگه کار بدیه تازه جاش هم تو barnamenevis.org نیست!!!!!!!!!!!!
Hossenbor
چهارشنبه 15 دی 1389, 00:02 صبح
راستی تو سی مگه مقدار رشته ای نیست منظورم string که حافظه بیشتری در رم میگیره و چرا از چندتا مقدار استفاده نکردید و یک سوال دیگه تو سی استریم هم نیست سی شارپ کجایی که قدرتو تازه فهمیدم روی بایتها هم کار کن برنامه مال سی شارپشو خاصی پی ام بده برات بنویسم خوبیش اینه که انتی ویروس اونو ویروس نمی شناسه ولی یک چیز بگم ناراحت بد قولی نشه الان امتحانامه و دانشگاهم یک جای دیگه و به زبان برنامه نویسی خودم دسترسی ندارم چند روز بعد پی ام بده در خدمتم
V0RTEX
چهارشنبه 15 دی 1389, 16:34 عصر
چرا اون هم میشه
ولی هرجور راحتی من با double راحت ترم:متفکر:
ali najafi
پنج شنبه 16 دی 1389, 14:07 عصر
من با long double راحت ترم...8 بایت
البته مشکلاتی هم داره ها...:متفکر:
توی بعضی از کامپایلر ها قاطی میکنه!!!
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.