Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

โปรแกรม C++ เติมหน่วยความจำเต็มทั้งหมด (Memory Exhaustion)


ในบทความนี้เราจะดูวิธีเติมหน่วยความจำทั้งหมดโดยเขียนโปรแกรม C++ 単純 ตรรกะค่อนข้างง่าย เราจะสร้างตัวแปรจำนวนเต็มใหม่ๆ โดยใช้การจัดสรรหน่วยความจำแบบไดนามิก (dynamic memory allocation) หากเราสร้างตัวแปรบางตัวซ้ำๆ จะเติมหน่วยความจำหลัก (primary memory) ทั้งหมด

ใน C++ เพื่อจัดสรรพื้นที่หน่วยความจำแบบไดนามิก เราสามารถใช้คีย์เวิร์ด new ได้

รูปแบบพื้นฐานของออเปอเรเตอร์ new คือดังนี้

pointer_var = new data_type

เพื่อปล่อยพื้นที่หน่วยความจำ เราสามารถใช้คีย์เวิร์ด delete รูปแบบคือ

delete pointer_var

หมายเหตุ หลังจากรันโปรแกรมนี้ อาจทำให้ประสิทธิภาพระบบช้าลง ระบบทั้งหมดอาจทำงานไม่ถูกต้องเนื่องจากขาดพื้นที่หน่วยความจำ

โค้ดตัวอย่าง

#include <iostream>
using namespace std;

int main() {
    while(true) {
        int *var = new int;
    }
}

ผลลัพธ์

ไม่มีเอาต์พุตเฉพาะเจาะจงที่จะแสดง สามารถตรวจสอบสถานะหน่วยความจำใน Task Manager เพื่อดูผลลัพธ์