Функции высокого и низкого уровня в C/C++

180
03 февраля 2020, 07:40

Мне нужно записать данные в файл .txt используя функции высокого уровня,а считать данные из файла используя функции низкого уровня на С и С++. Что это за функции такие и в чем их отличие?

Answer 1

Функции ввода-вывода высокого уровня - это функции стандартной библиотеки для работы с файлами, оперирующие абстрактными потоками. Например: fopen, fread. Они одинаковы во всех реализациях С/С++, именно они используются чаще всего.

Функции ввода-вывода низкого уровня - это специфичные для конкретной реализации функции, оперирующие дескрипторами объектов операционной системы. Они выполняют только непосредственный ввод/вывод байт, без буферизации или преобразования данных в другой формат. Они могут использоваться, когда на это есть особые причины, например, связанные с производительностью или необходимостью доступа к каким-то возможностям ОС, недоступным при использовании потоков. Примеры:

Low-Level I/O в Microsoft CRT

Low-Level Input/Output в glibc

READ ALSO
DirectX vs winapi BitBlt - перформанс вывода Bitmap

DirectX vs winapi BitBlt - перформанс вывода Bitmap

Есть ли приемущества по скорости вывода/нагрузке на пооцессор при выводе Bitmap (HBITMAP) используя нечто отличное от winapi (BitBlt), например DirectX

177
Как настроить отладку кода на C++ в RDi версии 9.5? [закрыт]

Как настроить отладку кода на C++ в RDi версии 9.5? [закрыт]

Хотите улучшить этот вопрос? Переформулируйте вопрос, чтобы он соответствовал тематике «Stack Overflow на русском»

178
Захват видео с экрана

Захват видео с экрана

Задался таким вопросом, какую библиотеку лучше использовать, для захвата видео с экрана, чтобы была возможность реализовать захват при помощи...

141
Как отловить событие mousePressEvent на Esri :: ArcGISRuntime :: Graphic?

Как отловить событие mousePressEvent на Esri :: ArcGISRuntime :: Graphic?

Все события мыши protectedЯ пытался сделать это через eventFilter и используя QObject :: connect, но результат ложный

158