参考位置:C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.32.31326\bin\Hostx64\x64
cl的编译选项:编译选项使用正斜杠指定,大小写敏感
[]里面是自己填的内容
| 编译选项 | 作用 |
|---|---|
| /c | 编译但不链接 |
| /D[xxx] | 定义常数和宏 |
| /E | 将预处理器输出复制到标准输出 |
| /F[bytes] | 设置堆栈大小 |
| /Fd[pathname] | 重命名程序数据库文件 |
| /Fe[pathname] | 重命名可执行文件 |
| /MD | 使用MSVCRT.lib编译以创建多线程DLL |
| /MDd | 使用MSVCRTD.lib编译以创建调试多线程DLL |
| /MT | 使用LIBCMT.lib编译以创建多线程可执行文件 |
| /MTd | 使用LIBCMTD.lib编译以创建调试多线程可执行文件 |
| /LD | 创建动态链接库 |
| /LDd | 创建调试动态链接库 |
| /O1 | 优化等级 |
| /O2 | 优化等级 |
| /Od | 禁用优化 |
| /Os | 代码大小优先 |
| /Ot | 代码速度优先 |
| /std:c++14 | C++标准 |
| /std:c++17 | C++标准 |
| /std:c++20 | C++标准 |
| /std:c++latest | C++标准 |
| /std:c11 | C标准 |
| /std:c17 | C标准 |
| /U[xxx] | 移除预定义宏 |
| /u | 移除所有的预定义宏 |
| /utf-8 | 将源和执行字符集设置为UTF-8 |
| /w | 禁用所有警告 |
| /W0, /W1, /W2, /W3, /W4 | 设置输出警告等级 |
| /Wall | 启用所有警告 |
| /wd[xxx] | 禁用指定的警告 |
打开Project的Property页面,可以看到提供给编译器的参数
官方文档:https://learn.microsoft.com/en-us/cpp/build/reference/md-mt-ld-use-run-time-library?view=msvc-170
Indicates whether a multithreaded module is a DLL and specifies retail or debug versions of the run-time library.
All modules passed to a given invocation of the linker must have been compiled with the same run-time library compiler option (/MD, /MT, /LD).