1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
| Neon6868 |
19.10.2008 17:41
Сообщение
#1
|
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 146 Пол: Мужской Репутация: 0 |
Необходимо написать программу, демонстрирующую следующий способ распределения ОП:
1. Стратегия размещения - первый подходящий 2. Структура данных-блоки фиксированного размера. Написал программу, но при таком способе накладывания маски, как мне сказали, требуется 128-разрядная или даже более разрядная система. Подскажите плиз каким образом можно накладывать маску, чтобы такого не было. Программа сейчас работает неправильно, так как всегда пишет что все блоки свободны. Если вдруг знаете в чем тут дело, то тоже напишите плиз. Программу компилировал в компиляторе GCC для Windows. #include <stdio.h> |
![]() ![]() |
| volvo |
19.10.2008 22:02
Сообщение
#2
|
|
Гость |
Цитата Программа сейчас работает неправильно, так как всегда пишет что все блоки свободны. Не мудрено... Смотри:1) main() Цитата for (i=0; i<256; i++) bitkarta [i]=0; 2) во всех функциях: Цитата for (i=0; i<128; i++) int jbit; 3) Опять же, что-то там у тебя еще не в порядке (кроме того, что я написал), надо разбираться, запусти дебаггер и пройди пошагово... Скорее всего опять же работа с маской в free()... |
| Neon6868 |
19.10.2008 22:17
Сообщение
#3
|
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 146 Пол: Мужской Репутация: 0 |
1. Да, я эту ошибку заметил.
2. Я неправильно написал, нам нужно не максимальное значение, а значение в двоичном виде 1000000000000000 (т.е. 15 нолей и 1 в старшем разряде). В десятичном виде это как раз число 32768. Я нашел ошибку, из-за которой всегда писалось все блоки заняты. В этой строке " int i,i1=0,numblock=0,x; " я еще раз описывал глобальную переменную. Осталась одна проблема: как накладывать маску, чтобы это подходило для 32-разрядной системы? Сообщение отредактировано: Neon6868 - 19.10.2008 23:11 |
Neon6868 Менеджер оперативной памяти на СИ 19.10.2008 17:41
volvo Во-первых, почему здесь? Это ж не Паскаль все-таки... 19.10.2008 18:05
Neon6868
Во-первых, почему здесь? Это ж не Паскаль все-так... 19.10.2008 21:09
Neon6868 Исправил еще несколько ошибок, но не выделяется па... 20.10.2008 1:00
volvo Ну, до окончательного ему еще далеко... Надо отлаж... 20.10.2008 14:41![]() ![]() |
|
Текстовая версия | 8.12.2025 23:59 |