|
0 / 0 / 0
Регистрация: 17.03.2014
Сообщений: 8
|
||||||
Как определить скорость чтения флешки?17.03.2014, 17:54. Показов 1557. Ответов 10
Метки нет (Все метки)
Всем доброго времени суток!
Проблема заключается в следующем: у меня есть файл на флешке(например 10мб) и мне нужно считать его и засечь время считывания, тем самым я получу скорость чтения флешки. Но на практике время считывания получается совсем ничтожным(несколько мкс), как будто он вообще не читает файл. Не могли бы вы объяснить почему так происходит и как это исправить? Код у меня примерно такой:
0
|
||||||
| 17.03.2014, 17:54 | |
|
Ответы с готовыми решениями:
10
Как программно определить Conrtoller Vendor у флешки (как в ChipGenius)? |
|
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
|
||
| 17.03.2014, 22:00 | ||
|
Может и не читает - ты забил же на результат, возвращаемый ф-цией ReadFile.. Это раз. Даже если и читает, то не туда куда нужно - 2-й параметр ReadFile ожидается переданным по ссылке, а не по значению. Это два.
0
|
||
|
0 / 0 / 0
Регистрация: 17.03.2014
Сообщений: 8
|
|
| 18.03.2014, 09:09 [ТС] | |
|
Насколько я понял функция ReadFile возвращает логическое значение(т.е. прочитал или нет). А вторым параметром передаю указатель point, т.е. адрес. Если я не прав, пожалуйста, напишите как необходимо правильно использовать данную функцию в моем примере.
0
|
|
|
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
|
|
| 18.03.2014, 09:12 | |
|
Win32Check(ReadFile(FileHandle, point^,1024*1024,dwResult,nil));
0
|
|
|
0 / 0 / 0
Регистрация: 17.03.2014
Сообщений: 8
|
|
| 18.03.2014, 12:32 [ТС] | |
|
А почему функция ReadFile считывает не больше 16 б данных?
0
|
|
|
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
|
|
| 18.03.2014, 12:43 | |
|
На основании чего сделано такое умозаключение ?
0
|
|
|
0 / 0 / 0
Регистрация: 17.03.2014
Сообщений: 8
|
|
| 18.03.2014, 15:33 [ТС] | |
|
На основании того, что с 1024*1024(1мб) не работат, и я попробовал другие значения. В итоге обнаружил, что если я пишу там 16, то он считывает и в dwResult записывает 16, а если пишу чуть больше, то вылетает с ошибкой обращения к памяти
0
|
|
|
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
|
|
| 18.03.2014, 16:35 | |
Сообщение было отмечено nik29kit как решение
Решение
0
|
|
|
0 / 0 / 0
Регистрация: 17.03.2014
Сообщений: 8
|
|
| 18.03.2014, 16:54 [ТС] | |
|
Я вижу ее и про нее я не забыл. Насколько я знаю эта "галка" нужна для разыменования указателя т.е. для обращения к переменной, адрес которой хранит указатель. Не так ли?
0
|
|
|
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
|
|
| 18.03.2014, 17:25 | |
|
Именно так.
Формальный параметр Buffer передается по ссылке (по кр.мере - в D7), именно поэтому фактический параметр point, содержащий указатель на начало буфера, следует разыменовывать. В противном случае компилятор вправе считать и справедливо считает, что началом буфером является адрес самой переменной point, а не тот адрес, на который указывает значение этой переменной. Иными словами, не разыменовывая point ты тем самым говоришь компилятору "а ну-ка натолкай мне мегабайт в переменную размером SizeOf(Pointer)", что само по себе есть бред и нонсенс и чревато непредсказуемыми последствиями.
1
|
|
|
0 / 0 / 0
Регистрация: 17.03.2014
Сообщений: 8
|
|
| 18.03.2014, 19:27 [ТС] | |
|
Все, короче, во всем разобрался. Спасибо огромное за помощь!
0
|
|
| 18.03.2014, 19:27 | |
|
Помогаю со студенческими работами здесь
11
Определить скорость чтения в кбайт\с Определить процентную долю детей, у которых скорость чтения ниже нормы М. Интернет и соеденения. Как определить скорость подключения? Как определить скорость скачивания? И т.д. Создание тестов на скорость чтения и скорость записи Как снизить скорость чтения dvd привода? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|