- •1. Библиотеки. Статическая библиотека. Создание.
- •2. Библиотеки. Статическая библиотека. Использование.
- •3. Библиотека. Динамическая библиотека. Создание.
- •4. Библиотека. Динамическая библиотека. Статическая загрузка.
- •5. Библиотека. Динамическая библиотека. Динамическая загрузка.
- •7. Библиотеки. Динамическая библиотека. Сравнение способов загрузки.
- •8.Использование файлов при создании программы.
- •9. Позиционирование при работе с файлами. Функция.
- •10. Отображение файла на памяти. Назвать назначения параметров в функции.
- •11. Управление памятью. Для чего используется.
- •12.Блокирование памяти. В каком случае используется. Функции для блокирования.
- •13.Управление памятью. Для чего используют функции:
- •14. Для чего создаются процессы. Функции.
- •15. Назначение функций:
- •16. Асинхронный ввод/вывод:
- •17. Для чего используются потоки. Функции
- •18. Приоритеты процессов и потоков. Функции:
- •19. Синхронизация потоков. Interlocked функции. Назначение функций:
- •20. Синхронизация потоков. Критические секции. Функции.
- •21. Использование Event для синхронизации. Функции:
- •22. Использование Semaphore для синхронизации. Функции:
- •23. Использование WaitableTimerдля синхронизации. Функции:
- •24) Управление процессом. Планирование и диспетчеризация.
- •25) Использование Mutex для синхронизации. Функции.
- •26) Сравнение сегментной и страничной адресации
- •27) Страничная организация памяти.
- •29) Локальная память компьютеров. Функции
- •30. Соглашения по вызову, объяснить следующие с, срр, fastcall, stdcall. Дайте рекомендации по использованию соглашения.
8.Использование файлов при создании программы.
Функции для работы с файлами: создание, открытие и закрытие файлов и каталогов:
CreateFile, CreateDirectory, CloseHandle, CopyFile, DeleteFile, HANDLE FindFirstFile, BOOL FindNextFile, BOOL ReadFile, BOOL WriteFile, DWORD SetFilePointer, BOOL SetEndOfFile, DWORD GetFileSize, BOOL SetFileAttributes.
Создание ( открытие ) файлов:
HANDLE CreateFile (
LPCTSTR lpFileName, //Имя файла
DWORD dwDesiredAccess, //режими доступу (GENERIC_WRITE, GENERIC_READ)
DWORD dwShareMode, // Режими сувмістного доступу (FILE_SHARE_READ, // FILE_SHARE_ WRITE)
LPSECURITY_ATTRIBUTES lpSecurityAttributes, // Атрибути безпеки (зазвичай 0)
DWORD dwCreationDistribution, // Режими створення файлу (CREATE_ALWAYS, //CREATE_NEW, OPEN_ALWAYS, OPEN_EXISTING)
DWORD dwFlagsAndAttributes, // Флаги та атрибути (зазвичай 0)
HANDLE hTemplateFile // (зазвичай 0)
);
GENERIC_READ – режим доступа CreateFile
GENERIC_WRITE – режим доступа CreateFile
FILE_SHARE_READ – режим совместного доступа CreateFile
FILE_SHARE_WRITE – режим совместного доступа CreateFile
CREATE_ALWAYS – Создает новый объект (файл). Функция перезаписывает существующий объект (файл).
CREATE_NEW – создать новый файл и выдаёт ошибку если файл существует.
OPEN_EXISTING – Открывает объект (файл) Выдает ошибку если указанный объект (файл) не существует
OPEN_ALWAYS – Открывает объект (файл), если он существует. Если объект (файл) не существует, функция создает его
INVALID_HANDLE_VALUE – функция CreateFile возвращает INVALID_HANDLE_VALUE, если ошибка, в случае успешного завершения возвращает другое значение.
9. Позиционирование при работе с файлами. Функция.
Установка указателя для файла, то есть места, с которого начнется ввод - вывод данных следующей функцией:
DWORD SetFilePointer(
HANDLE hFile, // дескриптор на открытый файл
LONG lDistanceToMove, // количество байт, на которые надо передвинуться
PLONG lpDistanceToMoveHigh, // Второй байт, указывающий количество байт
DWORD dwMoveMethod //Откуда нужно начинать двигаться
);
FILE_BEGIN Точка отсчета равняется нулю или это начало файла.
FILE_CURRENT Точка отсчета - текущее значение указателя позиции в файле.
FILE_END Точка отсчета - текущая позиция метки конца файла.
Если че моно дополнить http://www.vsokovikov.narod.ru/New_MSDN_API/Menage_files/fn_setfilepointer.htm
10. Отображение файла на памяти. Назвать назначения параметров в функции.
Для отображения файла в память используется функция CreateFileMapping, а для получения указателя на отображенную область - функция MapViewOfFile. Успешное выполнение обеих операций позволяет прикладной программе работать с этой областью как с любым другим фрагментом выделенной памяти, в частности, изменять ее содержимое.
HANDLE CreateFileMapping(
HANDLE hFile, // дескриптор файла
LPSECURITY_ATTRIBUTES lpAttributes, // защита
DWORD flProtect, // атрибуты защиты
DWORD dwMaximumSizeHigh, // старшее слово размера
DWORD dwMaximumSizeLow, // младшее слово размера
LPCTSTR lpName // имя объекта
);
PAGE_READONLY Дает доступ к страницам переданной области только для чтения. Попытка записать в переданную область, приводит к нарушению прав доступа. Файл, определяемый параметром hFile должен быть создан с правом доступа GENERIC_READ.
PAGE_READWRITE Дает доступ к операциям чтения-записи страниц переданной области. Файл, определяемый hFile должен быть создан с правами доступа GENERIC_READ и GENERIC_WRITE.
PAGE_WRITECOPY Дает доступ к копированию при записи страниц переданной области. Файлы, определяемые параметром hFile должны создаваться с правами доступа GENERIC_READ и GENERIC_WRITE.
Функция MapViewOfFile отображает представление проецируемого файла в адресное пространство вызывающего процесса.
LPVOID MapViewOfFile(
HANDLE hFileMappingObject, // дескр. объекта проецируемый файл
DWORD dwDesiredAccess, // режим доступа
DWORD dwFileOffsetHigh, // старшее DWORD смещения
DWORD dwFileOffsetLow, // младшее DWORD смещения
SIZE_T dwNumberOfBytesToMap // число отображаемых байтов
);
FILE_MAP_WRITE Доступ к операциям чтения-записи. Отображаемый объект должен быть создан с защитой PAGE_READWRITE . Чтение/запись представления файла отображается.
FILE_MAP_READ Доступ только для чтения. Отображаемый объект должен быть создан с защитой PAGE_READWRITE или PAGE_READONLY. Представление файла только для чтения отображается.