小写<windows.h>和大写<Windows.h>标题有什么区别?我正在阅读一些关于Win32编程的旧教程,它们都使用小写的"w".代码编译正常,但VS 2012自动完成功能仅列出<Windows.h>标题.
hmj*_*mjd 13
没有区别,也不存在Windows上的文件名(NTFS)不区分大小写.
实际上,根据Filenames对NTFS卷的区分大小写NTFS有两种不同的模式,其中一种是区分大小写的:
NTFS支持两种稍微不同的操作模式,可以由与NTFS交互的应用程序子系统选择.第一个是完全区分大小写的,并要求应用程序提供的文件名与磁盘上存储的名称相匹配,如果要选择磁盘上的文件则包括case.第二种操作模式是保留大小写但不区分大小写.这意味着即使提供的名称与磁盘上存储的名称不同,应用程序也可以选择磁盘上的文件.请注意,两种模式都保留用于创建文件的大小写.此处指出的行为差异仅适用于应用程序需要查找现有文件的情况.POSIX利用完整区分大小写模式,而MS-DOS,WOW和Win32子系统使用不区分大小写的模式.
Mic*_*urr 12
Windows上的文件系统不区分大小写,因此在Windows上进行编译时,任何一个都可以正常工作.但是,如果您使用MinGW交叉编译器在Linux上进行编译,则情况很重要.
MinGW windows.h标题似乎总是小写.
Windows.h随Microsoft工具提供的文件使用了各种案例.
WINDOWS.H- 全部大写Windows.hwindows.h- 全部小写.由于windows.h将始终适用于Windows和Linux交叉编译,我会使用,#include <windows.h>如果我曾经想过它.在回答这个问题之前我不记得做了什么.
我不会太担心这个.即使大写的形式进入Linux MinGW构建,一个简单的(如果可能是烦人的)修复是创建一个Windows.h只是转身并包含的文件windows.h.