В чем смысл этой командной строки

#c #vim #g #command-line-interface

Вопрос:

g -fsanitize=address -std=c 17 -Wall -Wextra -Wshadow -DONPC -O2 -o %lt; % amp;amp; ./%lt; lt; inp

Особенно в последней части с необычной последовательностью символов

Строка была взята из какого-то файла .vimrc, который я хотел скопировать

Комментарии:

1. Вы пробовали прочитать какую-нибудь документацию VIM?

Ответ №1:

Давайте разберемся с этим:

g = Ваш компилятор

-fsanitize=address = Флаги компилятора, которые добавляют очистку адресов. Увеличение использования памяти, но также полезно для отладки проблем с памятью.

-std=c 17 = Ваш стандарт C

-Wall -Wextra -Wshadow = Ваши флаги ошибок компилятора

-DONPC = Определение компиляции для ONPC

-O2 = Мягкий флаг оптимизации

-o = Имя вашего скомпилированного выходного файла

%lt; = В vim это означает основную часть вашего имени файла

% = В vim это означает ваше полное имя файла, которое вы компилируете

amp;amp; = Указание второй команды

./%lt; = Запустите только что созданный выходной файл

lt; inp = С этим в качестве входных данных

Я надеюсь, что это все прояснит. Для получения дополнительной информации я бы рекомендовал ознакомиться с документацией vim и g . Может быть, даже на баш amp;amp; Вы можете найти всю эту информацию там.

Комментарии:

1. amp;amp; чтобы выполнить команду правой стороны, если левая была выполнена успешно, afaik