这个命令行是什么意思

What is the meaning of this command line

g++ -fsanitize=address -std=c++17 -Wall -Wextra -Wshadow -DONPC -O2 -o %< % && ./%< < inp

特别是最后一段奇怪的符号序列

行取自我想复制的一些 .vimrc 文件

让我们分解一下:

g++ = 你的编译器

-fsanitize=address = 添加地址清理的编译器标志。增加内存使用量,但也有助于调试内存问题。

-std=c++17 = 你的 C++ 标准

-Wall -Wextra -Wshadow = 您的编译器错误标志

-DONPC = ONPC

的编译定义

-O2 = 温和的优化标志

-o = 编译输出文件的名称

%< = 在 vim 中,这代表文件名的主要部分

% = 在 vim 中,这代表您正在编译的完整文件名

&& = 指示第二个命令

./%< = 运行 您刚刚创建的输出文件

< inp = 以此为输入

我希望这能解决问题。有关更多信息,我建议您阅读 vim 和 g++ 文档。甚至可以在 bash && 上找到所有这些信息。