![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| GIK |
|
|||
![]() Добрый человек ![]() ![]() Профиль Группа: Участник Сообщений: 985 Регистрация: 3.6.2005 Где: я только не небыв ал Репутация: 1 Всего: 14 |
Всем доброго времени суток.
Меня интересует адресная арифметика жесткого диска. Долго думал, почему в книгах по С++ нет информации, решил освоить винду, купил книгу, но пока ничего не нашел... Решил по эксперементировать с указателями с типом FILE.
Почемуто разница между адресами файлов = 24, если даже в файле инфы больше, и почему то при увеличении указателя, тоже происходит увеличение на 24. Хотелосб бы разобратся что и как там происходит. -------------------- Математика=>пиво=> програмирование, три вещи последовательны и совместимы !!! Программирование - это не деятельнось! Программирование - это состояние души! Бог - самый крутой программист. |
|||
|
||||
| W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 20 Всего: 121 |
Арифметика жёсткого диска напрямую зависит от файловой системы, ну само собой не учитывая основополагающих понятий о хранении информации. Могу скинуть полную спецификацию FAT32(на русском), а вот по NTFS даже не знаю, что посоветовать. Ну и конечно же Глава 12 величайшей книги, библии системного программиста, "Внутреннее устройство Windows" Марк Руссинович, Девид Соломон.
-------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
| GIK |
|
|||
![]() Добрый человек ![]() ![]() Профиль Группа: Участник Сообщений: 985 Регистрация: 3.6.2005 Где: я только не небыв ал Репутация: 1 Всего: 14 |
Буду рад, надоже с чего то копать. -------------------- Математика=>пиво=> програмирование, три вещи последовательны и совместимы !!! Программирование - это не деятельнось! Программирование - это состояние души! Бог - самый крутой программист. |
|||
|
||||
| W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 20 Всего: 121 |
-------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
| BreakPointMAN |
|
||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 15.9.2004 Где: Saratov Репутация: 14 Всего: 24 |
Что есть "адресная арифметика жесткого диска" в твоем понимании? Ответ очевиден: потому что книги по C++. Каким образом язык C++ связан с жесткими дисками и файловыми системами? Язык это язык. Жесткий диск это жесткий диск. Файловая система эта файловая система. Какую книгу, и что именно ты хочешь в ней найти?..
Между какими адресами файлов?.. Ты понимаешь, что такое "FILE", что такое "FILE *f[3];"? Тебе не книжка по "адресной арифметике жесткого диска" нужна, а букварь по C++, а, вернее, C... FILE - это структура. Ни больше ни меньше. Вот, например, как она определена в файле stdio.h среды программирования Borland C++ Builder:
Функция fopen возвращает указатель на экземпляр этой структуры, который в дальнейшем используется функциями типа fclose, fseek, fread, fwrite, fprintf и т.д. Этот указатель ссылается на адрес в оперативной памяти, а вовсе не на какой-то там адрес на поверхности жесткого диска!.. А "FILE *f[3];" - это массив из 3 указателей на структуры типа FILE. Что касается твоего недоумения, откуда берется число 24... это всего-навсего размер памяти в байтах, занимаемый одной такой структурой. Можешь выполнить программу:
На экран будет выведено число "24". Это сообщение отредактировал(а) BreakPointMAN - 6.1.2007, 00:03 -------------------- "Разруха не в клозетах, а в головах." © Ф.Ф. Преображенский (М.Булгаков, "Собачье сердце") |
||||||
|
|||||||
| Dude03 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 257 Регистрация: 28.4.2006 Репутация: нет Всего: 6 |
Хелен Кастер "Основы Windows и NTFS" Не менее кстати легендарная... Учитывая то, что предисловие писал Девид Катлер Это сообщение отредактировал(а) Dude03 - 6.1.2007, 00:06 |
|||
|
||||
| BreakPointMAN |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 15.9.2004 Где: Saratov Репутация: 14 Всего: 24 |
Еще недавно в издательстве BHV вышла книга "Восстановление данных" © Крис Касперски (подробности здесь):
Думаю, что кое-какую информацию по NTFS можно почерпнуть оттуда. -------------------- "Разруха не в клозетах, а в головах." © Ф.Ф. Преображенский (М.Булгаков, "Собачье сердце") |
|||
|
||||
| GIK |
|
|||
![]() Добрый человек ![]() ![]() Профиль Группа: Участник Сообщений: 985 Регистрация: 3.6.2005 Где: я только не небыв ал Репутация: 1 Всего: 14 |
BreakPointMAN, спасибо, просветил
-------------------- Математика=>пиво=> програмирование, три вещи последовательны и совместимы !!! Программирование - это не деятельнось! Программирование - это состояние души! Бог - самый крутой программист. |
|||
|
||||
| jonie |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 15 Всего: 118 |
по структурам NTFS и прочего можно почитать и в кодах драйверов из nix-ов например...собсна оттуда же и все остальное можно изъять ).... Это сообщение отредактировал(а) jonie - 6.1.2007, 15:14 -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
||||
|
|||||
| GIK |
|
||||
![]() Добрый человек ![]() ![]() Профиль Группа: Участник Сообщений: 985 Регистрация: 3.6.2005 Где: я только не небыв ал Репутация: 1 Всего: 14 |
Ну уж за полного лоха то не держите меня... Хотя.. может я и полный лох.... Почему, у меня к примкру, адрес указателя на файл = 845 833 048, или 845 миллионов 833 тысячи 48. А оперативы у меня 512 миллионов? Добавлено @ 20:08
-------------------- Математика=>пиво=> програмирование, три вещи последовательны и совместимы !!! Программирование - это не деятельнось! Программирование - это состояние души! Бог - самый крутой программист. |
||||
|
|||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 52 Всего: 207 |
У тебя виртуальный адрес во flat 32-ом адресном пространстве, который отображается на физический в пределах твоих 512Мб подробнее -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |