【问题标题】:What is the meaning of this command line这个命令行是什么意思
【发布时间】:2021-10-26 07:22:40
【问题描述】:

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

特别是最后一部分带有奇怪的符号序列

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

【问题讨论】:

  • 你有没有尝试阅读一些 VIM 文档?

标签: c++ vim g++ command-line-interface


【解决方案1】:

让我们分解一下:

g++ = 你的编译器

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

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

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

-DONPC = ONPC 的编译定义

-O2 = 一个温和的优化标志

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

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

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

&& = 指示第二个命令

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

< inp = 以此为输入

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

【讨论】:

  • && 运行右侧命令,如果左侧成功,afaik