Включайте изменение пути заголовка от Windows до Linux

Я не знаю ни одного собственного Python-способа настройки брандмауэра Windows.

Хотя вы можете просто выполнить Windows netsh команду из Python, используя os.system .

См. Как открыть порты на брандмауэре Windows через командный файл .

9
задан Smi 9 December 2012 в 11:38
поделиться

5 ответов

Всегда используйте наклонные черты вправо в путях #include. Это - задание компилятора для отображения, путь к любой наклонной черте/каталогу замышляют базовые поддержки ОС.

26
ответ дан 4 December 2019 в 06:00
поделиться

Вы люди! Да, Вы можете, и если, всегда использовать наклонные черты вправо. Я думаю, что проблема - то, как добраться там отсюда!

Если Вам установят Perl, то следующий один лайнер преобразует исходный файл C++ для использования наклонных черт вправо, сохраняя исходную версию в файле с расширением .bak:

perl -i.bak -pe "tr!\\!/! if /^\s*#\s*include\b/" myfile.cpp

(Вышеупомянутая командная строка для Windows; при использовании Linux или другой подобной Unix оболочки используйте одинарные кавычки вокруг 3-го параметра вместо двойных кавычек.)

Если у Вас есть набор файлов, необходимо преобразовать, сказать все файлы, заканчивающиеся в .cpp:

for %f in (*.cpp) do perl -i.bak -pe "tr!\\!/! if /^\s*#\s*include\b/" %f

Соответствующая команда для среды Оболочки Bourne (типичная оболочка Linux):

for f in *.cpp; do perl -i.bak -pe 'tr!\\!/! if /^\s*#\s*include\b/' $f; done

Если Вам не установили Perl, необходимо смочь найти текстовый редактор, который позволяет поиск и замену через файлы.

10
ответ дан 4 December 2019 в 06:00
поделиться

Windows APIs всегда поддерживал наклонную черту вправо как разделитель каталога. И это вызвано тем, что еще, по крайней мере, DOS 3.1 это поддерживалось также. Проблемой всегда был COMMAND.COM и CMD.EXE. Они используют наклонную черту вправо в качестве индикатора опции (вместо тире, как найдено в Unix). Никогда не используйте обратные косые черты для разделителей каталога на языках, где обратная косая черта в строке используется для выхода из специальных символов.

При недостатке в оболочке Unix разве у Вас нет редактора, который действительно ищет/заменяет через несколько файлов? Heck, запишите небольшую программу, чтобы сделать это, если Вы имеете к. Парсинг исходного кода C++ для его #include операторов не может быть трудным.

7
ответ дан 4 December 2019 в 06:00
поделиться

Всегда используйте наклонные черты вправо в #include директивах. Некоторые операционные системы / компиляторы требуют его, и Windows / Visual Studio достаточно умна обработать его правильно.

Начиная с Вашего запуска с кода Windows я предполагаю, что у Вас есть Visual Studio. Используйте находку и замените диалоговое окно и создайте регулярное выражение, которое сделает замену на Вас. Выполните находку и замену на всех файлах.

Например, используйте что-то вроде этого:

#include:b+<{[^\\\>]}\\

для Вашего поискового выражения и

#include <\1

для выражения замены (предупреждение: непротестированный). Выполните это на всех файлах, пока никакие замены не будут сделаны. Затем переключите угловые скобки на кавычки и повторение.

5
ответ дан 4 December 2019 в 06:00
поделиться

Какую версию Windows Вы используете? Насколько я знаю, начиная с Windows XP, наклонные черты вправо действительно на самом деле работают разделителями пути.

4
ответ дан 4 December 2019 в 06:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: