在win下用C/C++开发 非图形界面 应用程序
基础环境包括3个内容
1. API : 一般是系统(包括c标准库和其他dll)提供的
2. 编译器 : 可以是gnu的,可以是微软提供的
3. 编辑器 : 随意都可以
开发方式(API+编译器)
原生windows API
使用 Windows API 来编写非视窗代码。
这将允许你编写本机的 Windows 应用程序,不依赖于 Cygwin 或其他 POSIX 兼容层。
可以使用 Microsoft Visual C++ 编译器或其他支持 Windows 开发的 C/C++ 编译器。
API : Windows API
编译器 : Microsoft Visual C++ (MSVC)/Clang for Windows/MinGW 和 MinGW-w64
应用依赖 : 无(TODO)
POSIX 1-MingGW
MinGW 安装 : https:
MinGW(Minimalist GNU for Windows)是一个 Windows 上的开发环境,它提供了 GCC(GNU Compiler Collection)等工具,允许你使用标准的 C/C++ 代码进行开发,而不需要 Cygwin。
MinGW-w64 则是 MinGW 的一个分支,支持更广泛的 Windows 平台,并提供了 64 位支持。
API : POSIX标准
编译器 : Microsoft Visual C++ (MSVC)/Clang for Windows/MinGW的gcc
应用依赖 : 无(TODO)
POSIX2-cygwin
如果你喜欢 POSIX 兼容性,并且希望在 Windows 上使用大部分标准的 UNIX/Linux 工具和库,你可以选择 Cygwin。
Cygwin 提供了一个 POSIX 兼容的运行时环境,可以让你在 Windows 上编写和运行非视窗代码。
你可以使用 Cygwin 下的 GCC 编译器。
API : POSIX标准
编辑器: vim
编译器: gcc
应用依赖: Cygwin DLL(动态链接库)
开发方式(API+编译器)的试验
#include
#include
int main() {
char c = _getch();
printf("You pressed: %c\n", c);
return 0;
}
#include
#include
int main() {
while (1) {
if (GetAsyncKeyState('A') & 0x8000) {
printf("The 'A' key is pressed!\n");
break;
}
}
return 0;
}
mingw,mingw-64,cygwin对posix的支持程度,从从小到大,依次是mingw,mingw-64,cygwin

开发方式(编辑器)
vscode 能和 以上列举的各个情况下的编译器 完美融合