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