0

クロック置換アルゴリズム。arr - 物理メモリです arr2 - ページ (仮想メモリ) arr にページがない場合、R=0 を持つフレームを置き換えます。すべてのフレームが R=1 の場合。すべての R=0 を初期化します。IF フレームにはページと R=1 があります。何もしない 。それ以外の場合は R=1;

#include<iostream>
using namespace std;
struct Frame
{
    char content;
    int R;
};
int main()
{
    int arr2[] = { 1, 2, 3, 4, 1, 2, 5, 6 };

    Frame arr[3];
    arr[0].R = 1;
    arr[0].content = arr2[0];
    arr[1].R = 1;
    arr[1].content = arr2[1];
    arr[2].R = 1;
    arr[2].content = arr2[2];
    arr[3].R = 1;
    arr[3].content = arr2[3];

    for (int i = 0; i < 3; i++)
    {
        for (int j = 4; j < 8; j++)
        {
            if ((arr[i].content == arr2[j]) && (arr[i].R = 1))
            {
                cout << "Frame have this page";
            }
            else if ((arr[i].content == arr2[j]) && (arr[i].R = 0))
            {
                arr[i].R = 1;
            }
            else if ((arr[i].content != arr2[j]) && (arr[i].R = 1))
            {
                arr[i].R = 0;
            }
            else 
            {
                arr[i].content = arr2[j];
                arr[i].R = 1;
            }
        }
    }

    for (int i = 0; i < 3; i++)
    {
        cout << arr[i].content << " " << arr[i].R << endl;
    }


    system("pause");
    return 0;
}

エラー 1 エラー LNK1168: C:\Users\h\Documents\Visual Studio 2013\Projects\os クロックを書き込むために C:\Users\h\Documents\Visual Studio 2013\Projects\os clock\Debug\os clock.exe を開けません\os クロック\LINK OS クロック

4

1 に答える 1

0

このエラーは、プログラムが実行中であり、exe ファイルが開いたままでもコンパイラにプログラムを実行するように再度命令することを意味します。プログラムを実行するよりも最初にexeファイルを閉じると、このエラーが解消されます。

于 2015-12-27T13:18:21.417 に答える