Перейти к содержимому

Include windows h что это

  • автор:

Include windows h что это

Зачем нужен и что делает windows.h ?
В какой-то библиотеке он включается следующим фрагментом:

#ifdef _WIN32
# include
# ifdef small
/* windows.h define small to char */
# undef small

И что за _WIN32, кем и в каком месте он определяется?
Если кто прокомментирует, буду премного благодарен.

Re: Зачем нужен windows.h ?

От: Tazman
Дата: 21.07.05 09:44
Оценка:

Здравствуйте, Chelovek_, Вы писали:

C_> Зачем нужен и что делает windows.h ?
C_> В какой-то библиотеке он включается следующим фрагментом:

Windows.h нужен для того, что бы ты мог использовать в своей программе функционал, предоставляемый операционной системой (Windows 95, 98, NT, 2000, XP).

C_>#ifdef _WIN32
C_># include
C_># ifdef small
C_> /* windows.h define small to char */
C_># undef small

C_> И что за _WIN32, кем и в каком месте он определяется?
C_> Если кто прокомментирует, буду премного благодарен.

А макрос _WIN32 генерируется компилятором, и говорит о том какая версия операционной системы используется.
_WIN16 — 16-ти разрядная
_WIN32 — 32-х разрядная

и вообще макрос _WIN?? говорит о том что используются винды.

Хорошо иметь достойных потомков, но слава принадлежит нашим предкам. (Плутарх)
Re[2]: Зачем нужен windows.h ?

От: Chelovek_
Дата: 21.07.05 10:02
Оценка:

C_>> Зачем нужен и что делает windows.h ?
C_>> В какой-то библиотеке он включается следующим фрагментом:
T>Windows.h нужен для того, что бы ты мог использовать в своей программе функционал, предоставляемый операционной системой (Windows 95, 98, NT, 2000, XP).

Спасибо. А не могли бы пояснить (пример какой-нибудь), что такое функционал, предоставляемый Windows ?
Например, если программа работет в консольном режиме и занимается вычислениями, она все равно использует какие-то услуги из Windows.h ?

C_>>#ifdef _WIN32
C_>># include
C_>># ifdef small
C_>> /* windows.h define small to char */
C_>># undef small
C_>> И что за _WIN32, кем и в каком месте он определяется?
C_>> Если кто прокомментирует, буду премного благодарен.
T>А макрос _WIN32 генерируется компилятором, и говорит о том какая версия операционной системы используется.
T>_WIN16 — 16-ти разрядная
T>_WIN32 — 32-х разрядная
T>и вообще макрос _WIN?? говорит о том что используются винды.

Еще раз спасибо. А можно сказать компилятору (в настройках каких-нибудь), чтобы он этот макрос не генерировал? (чисто теоретически, на практике понятно, что он много кому может быть нужен).

Re[3]: Зачем нужен windows.h ?

От: jazzer Skype: enerjazzer
Дата: 21.07.05 10:32
Оценка:

Здравствуйте, Chelovek_, Вы писали:

C_>>> Зачем нужен и что делает windows.h ?
C_>>> В какой-то библиотеке он включается следующим фрагментом:
T>>Windows.h нужен для того, что бы ты мог использовать в своей программе функционал, предоставляемый операционной системой (Windows 95, 98, NT, 2000, XP).

C_> Спасибо. А не могли бы пояснить (пример какой-нибудь), что такое функционал, предоставляемый Windows ?
C_> Например, если программа работет в консольном режиме и занимается вычислениями, она все равно использует какие-то услуги из Windows.h ?

имеется в виду явное использование. То, что его рантайм использует неявно, тебя не должно волновать.

C_> Еще раз спасибо. А можно сказать компилятору (в настройках каких-нибудь), чтобы он этот макрос не генерировал? (чисто теоретически, на практике понятно, что он много кому может быть нужен).

См. документацию к твоему компилятору.

jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got If you always do what you always did

Re[3]: Зачем нужен windows.h ?

От: EyeOfHell eyeofhell.habr.ru
Дата: 21.07.05 17:04
Оценка:

А не могли бы пояснить (пример какой-нибудь), что такое функционал, предоставляемый Windows ?
Например, если программа работет в консольном режиме и занимается вычислениями, она все равно использует какие-то услуги из Windows.h ?

Там содержаться типы, выходящие за рамки стандарта C++ и использующиеся в Windows: HANDLE, HWND, UMSG итд.
Так же там содержаться определения части системных функций и структур — CreateWindowA() и прочие.

Если программы ТОЛЬКО считает — тоесть не требует от ползователя ввода и ничего никуда не выводит, например:

void main(void) < int x = 1; int y = 2; int z = x+y*2; >

То для такой программы Windows.h включать не обязательно. А вот как только нужно вывести на экран диалог с помошью MessageBox() — сразу же придется. Бо в стандарте C++ никакого MessageBox() не предусмотрено

Библиотека windows.h

Ребят подскажите чё это за библиотека, и какие есть у нее наиболее используемые функции или команды(в гугле искал, просто прошу совета)
Заранее спасибо.

Лучшие ответы ( 2 )
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Нужна библиотека Windows.h
Очень нужна библиотека Windows.h ввиде файлов с расширением .h Обратитесь к документации для.

При загрузке Windows появляется модуль — библиотека windows oyqgtipp.dll
при зпуске винды выскакивает окно что модуль библиотеки oyqgtipp.dll не найден ,что это за.

Приложение или библиотека C:\WINDOWS\system32\HID.DLL не является образом программы для Windows NT
Прошу помочь в решении следующего вопроса: У меня Windows XP. Во время работы компьютера.

Приложение или библиотека C:\Windows\system\cmicnfg.cpl не является образом прогграммы для Windows NT
Переустановил винду (Диск пошарпоный) При запуске винды выдаёт ошибку (вложение с низу) Не.

1260 / 798 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
windows.h — это заголовочный файл от библиотеки
Регистрация: 26.03.2009
Сообщений: 50

Добавлено через 12 секунд
какие команды?

1260 / 798 / 108
Регистрация: 16.09.2009
Сообщений: 2,010

Это: WinAPI, там собрано всё на все случаи жизни.

Добавлено через 2 минуты
Там есть всё для:
графического интерфейса
Работе с файлами
командный финтереейс mci
работы с сетью, звуком .
Может ещё кто добавит

Добавлено через 1 минуту
Вообще WinApi — это совокупность различных библиотек ОС Windows

Добавлено через 6 минут
Пример команда:
Копирование файла
CopyFile(const char *fn, const char *nf, bool flag);

Добавлено через 2 минуты
Может кто-то, ещё прототипов подкинет.

Эксперт С++

2347 / 1720 / 148
Регистрация: 06.03.2009
Сообщений: 3,675

Jekidollar, отправная точка по функциям Win32 API на MSDN: Win32 and COM Development
Выбираешь интересующую тему и вперед — изучать функции.

73 / 73 / 10
Регистрация: 04.12.2008
Сообщений: 458

ЦитатаСообщение от Genius Ignat Посмотреть сообщение

Может кто-то, ещё прототипов подкинет.

Насколько мне известно, то там их очень много. и количество их растет.
Много системных функций, для работы с процессами, потоками.

1212 / 909 / 270
Регистрация: 25.07.2009
Сообщений: 4,361
Записей в блоге: 5
Не знаю зачем она, но я юзаю из нее только Sleep();

Эксперт С++

2347 / 1720 / 148
Регистрация: 06.03.2009
Сообщений: 3,675

ЦитатаСообщение от outoftime Посмотреть сообщение

Не знаю зачем она
Если будешь программировать под Windows, то обязательно узнаешь.
Регистрация: 05.09.2009
Сообщений: 512

Лучший ответ

Сообщение было отмечено как решение

Решение

windows.h является Windows-конкретный файл заголовков для языка C программирования, который содержит заявления для всех функций в Windows API, все общие макросы, которые используются программистами окон, и все типы данных, используемых различными функциями и подсистем. Он определяет большое количество окон конкретные функции, которые могут быть использованы в С. Win32 API могут быть добавлены в проект программирования C, включив заголовка файла и ссылки на соответствующие библиотеки. Для использования функции в XXXX. DLL, программа должна быть увязана с XXXX. Lib (или Lib XXXX. В MinGW). Некоторые заголовки не связаны с расширением. DLL, но при статической библиотеки (например, scrnsave.h scrnsave.lib потребности).

Есть несколько файлов ребенка заголовок, который автоматически входит в windows.h. Многие из этих файлов не может быть просто включен сами по себе, из-за зависимостей.

windows.h может включать любую из следующих файлов заголовок:
excpt.h — Обработка исключений
stdarg.h — переменная аргумент функции (стандартный заголовок C)
windef.h — различные макросы и типы
winnt.h — различные макросы и типы (для Windows NT)
basetsd.h — различные типы
guiddef.h — тип GUID
ctype.h — характер классификации (стандартный заголовок C)
string.h — строк и буферов (стандартный заголовок C)
winbase.h — Kernel32.dll: ядро услуги
Winerror.h — коды ошибок Windows
WINGDI.H — GDI (Graphics Device Interface)
WINUSER.H — user32.dll: пользователь услугами
winnls.h — NLS (Native Language Support)
wincon.h — консоль услуги
winver.h — информация о версии
winreg.h — реестр Windows
winnetwk.h — Wnet (Windows Networking)
Winsvc.h — Windows Services и SCM (Service Control Manager)
imm.h — IME (редактор метода ввода)

Дополнительная включает в себя:
cderr.h — CommDlgExtendedError кодов функция ошибок
commdlg.h — общих диалоговых окон
dde.h — DDE (Dynamic Data Exchange)
ddeml.h — DDE Управление библиотека
dlgs.h — различные константы для общих диалоговых окон
lzexpand.h — LZ (Зив-Зива) компрессии / декомпрессии
mmsystem.h — Windows Multimedia
nb30.h — NetBIOS
rpc.h — RPC (Remote Procedure Call)
shellapi.h — оболочки Windows API
wincrypt.h — Cryptographic API
winperf.h — мониторинг эффективности
winresrc.h — используется в ресурсах
winsock.h — Winsock (Windows Sockets), версия 1.1
winsock2.h — Winsock (Windows Sockets), версия 2
winspool.h — Диспетчер очереди печати

OLE и COM:
ole2.h — OLE (Object Linking и вложение)
objbase.h — COM (Component Object Model)
oleauto.h — OLE Automation
olectlid.h — различные GUID определений
[Править] Макросы

Несколько макросов влияют на поведение windows.h.
UNICODE — определить, когда это приводит к TCHAR быть синонимом WCHAR вместо CHAR, и все тип-родовых функций API и сообщений, работа с текстом будет определен-З версиях вместо-версии. (Это похоже на Windows _UNICODE макроса C Runtime’s.)
RC_INVOKED — определить, когда ресурс компилятора (Rc.exe) используется вместо компилятора C.
WINVER — используется для включения функций доступны только в более новых операционных систем. Определить ее 0x0501 для Windows XP, и 0x0600 для Windows Vista.
WIN32_LEAN_AND_MEAN — используется для уменьшения размера файлов заголовков и ускорить компиляцию. За исключением вещей, как криптография, DDE, RPC, Windows Shell и Winsock.

Невидимость Windows h в Visual Studio

Visual Studio — одна из самых популярных интегрированных сред разработки (IDE) для создания программного обеспечения под операционные системы семейства Windows. Однако, при работе с Visual Studio, иногда возникают проблемы с подключением необходимых библиотек и заголовочных файлов.

Один из таких случаев может быть связан с неправильным подключением библиотеки windows.h — файл, содержащий объявления макросов, структур и функций Windows API. Если при попытке использования этой библиотеки возникает ошибка, что Visual Studio не может найти файл windows.h, необходимо принять несколько действий для исправления проблемы.

Во-первых, необходимо проверить, что библиотека windows.h доступна в установленном компоненте Visual Studio. Для этого откройте настройки проекта в Visual Studio, перейдите в раздел «Свойства», выберите пункт «Компоновщик» и убедитесь, что путь к заголовочным файлам содержит путь к библиотеке windows.h.

Если библиотека windows.h отсутствует в пути, то необходимо добавить ее. Для этого можно использовать следующий путь: «C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt». Выберите «Да» при запросе, чтобы автоматически обновить путь к заголовочным файлам.

После этого перестройте проект, чтобы Visual Studio перекомпилировала и подключила необходимые заголовочные файлы. Если проблема не решена, то может потребоваться переустановка Visual Studio или установка недостающих пакетов разработки.

Проблема с библиотекой windows.h в Visual Studio

Если при работе с Visual Studio возникает проблема с библиотекой windows.h , то это может привести к невозможности использования функций и классов, связанных с операционной системой Windows. Это может стать причиной ошибок компиляции или неработоспособности кода.

Если Visual Studio не видит библиотеку windows.h , то возможны следующие решения проблемы:

  1. Проверить настройки проекта: в меню Visual Studio выбрать Project — Properties — Configuration Properties — C/C++ — General . Проверить, что поле Additional Include Directories содержит путь к папке, где находится файл windows.h . Если путь указан неверно или поле пустое, добавить правильный путь к папке с windows.h . Это позволит компилятору найти нужную библиотеку.
  2. Проверить наличие и целостность файлов библиотеки windows.h : убедиться, что файл windows.h присутствует в папке, указанной в настройках проекта. Если файла нет или он поврежден, его нужно восстановить или переустановить.
  3. Проверить версию Visual Studio: убедиться, что используется подходящая версия Visual Studio для разработки под Windows. Некоторые старые версии Visual Studio могут не поддерживать некоторые функции и библиотеки операционной системы Windows.
  4. Обновить Visual Studio: в случае установленной неправильной или устаревшей версии, рекомендуется обновить Visual Studio до последней доступной версии. В новых версиях часто исправляются ошибки и улучшается поддержка библиотек.

После выполнения указанных действий, надеемся, что проблема с библиотекой windows.h в Visual Studio будет устранена, и вы сможете продолжить работу над своим проектом. Если проблема не исчезнет, рекомендуется обратиться к более подробной документации или обратиться за помощью к сообществу разработчиков, специализирующихся на использовании Visual Studio.

Windows.h дает ошибку при подключении

Ошибка C2589 (: недопустимая лексема справа от «::» q2222 c:\libs\sfml-2.5.1\x86\include\sfml\graphics\rect.inl Почему то windows.h и sfml не хотят в паре работать.Хотя по отдельности пашут.Почему?

Отслеживать
задан 7 сен 2019 в 23:50
Barracudach Barracudach
892 6 6 серебряных знаков 23 23 бронзовых знака

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

Типичный пример конфликта имен, вызванный макросами min и max из .

Либо включайте после остальных заголовков, либо (лучше) глобально определите макро NOMINMAX в настройках проекта, либо сделайте

#undef min #undef max 

сразу после включения .

Отслеживать
ответ дан 8 сен 2019 в 0:35
AnT stands with Russia AnT stands with Russia
69k 3 3 золотых знака 62 62 серебряных знака 139 139 бронзовых знаков

  • c++
  • sfml
    Важное на Мете
Похожие

Подписаться на ленту

Лента вопроса

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.10.27.43697

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *