![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| freezeman |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 175 Регистрация: 21.1.2011 Репутация: нет Всего: нет |
Всем привет!
Подскажите, пожалуйста! Мне нужно сделать общей структуру для 2-х программ. Структура содержит содержимое файла и дату последнего доступа к нему. Я создал проекцию в памяти, затем заношу туда структуру... как это сделать корректно? Код:
|
|||
|
||||
| freezeman |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 175 Регистрация: 21.1.2011 Репутация: нет Всего: нет |
Если в memcpy вместо размера файла (он достаточно большой ~100 мб) укажу, например, 2048, то все копируется нормально!!! Почему так происходит, мне казалось, что должно копироваться только 2048 байт...
|
|||
|
||||
| feodorv |
|
||||||||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 9 Всего: 45 |
А куда, как планируется, должен указывать FileInCache.buffer? В какую область памяти? Ну хорошо (хотя 100М переданной общей памяти - не очень). Что тогда это значит: Вы думаете, что если в одной программе FileInCache.buffer настроен правильно (указывает в нужную область памяти этого процесса), то и в другой программе этот указатель будет валидным? (Намёк: MapViewOfFile в разных программах может вернуть разный адрес даже для одного и того же объекта проекция файла, и в другом процессе то же значение для buffer'а будет указывать не туда).
Ну так надо же fileCache2.buffer проинициализировать:
Если же всё таки планируется именно
то структуру стоит определить как
В таком случае buffer всегда будет указывать на память, следующую сразу за FileTime (чтобы там MapViewOfFile) не вернула. Но, пожалуйста, разберитесь с переменной size: что она означает? Длину файла или размер структуры вместе с содержимым файла?
Даже если здесь всё проинициализировано правильно, то всё равно есть противоречие с size. -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
||||||||||||
|
|||||||||||||
| freezeman |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 175 Регистрация: 21.1.2011 Репутация: нет Всего: нет |
В коде небольшие неточности были, но я решил отказаться от этого метода... получилось все другим способом.
Спасибо за ответ! |
|||
|
||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |