#visual-studio-code #makefile #vscode-tasks
Вопрос:
При использовании VS-кода то, с чем вы можете работать make
, также может быть выполнено tasks.json
и make
не предустановлено в Windows. Если вы можете заставить свою команду, использующую различные ОС, использовать VS-код, есть ли какая-либо причина для его использования make
?
Комментарии:
1.
you can do with make can be done with tasks.json
это неправда, вы не можете создать приложение из 100 файлов C только сtasks.json
2. @rioV8 Не могли бы вы поподробнее, пожалуйста?
3. Зачем мне уточнять, у меня есть проект со 100 файлами C , состоящий из приложения и нескольких библиотек, созданных на его основе, вы должны показать мне, как я мог бы создать это с помощью
tasks.json
4. Я не знаю , как вы используете
make
, просто дайте мне знать часть, с которой нельзя справитьсяtasks.json
. Я предполагаю, что вы используете много команд для сборки, но я не знаком с C .5. итак, если вы не знакомы с C и задаете вопрос «почему», укажите, что make может делать, какие задачи могут выполнять? Если у вас есть более 1 файла C
tasks.json
, они бесполезны. Любое серьезное приложение имеет более 1 файла C , хотя я знаю полезное приложение 0-MQ, которое содержит всего 1 файл C . Конкурентное программирование-это несерьезное программирование
Ответ №1:
На первый взгляд, вы можете использовать либо файлы Makefile, либо tasks.json
для выполнения различных сценариев оболочки. С помощью свойства dependsOn
of tasks.json
вы можете выполнять топологические задачи , которые также выполняет Makefile.
Все еще есть вещи, которые make
делают лучше, чем tasks.json
:
make
может проверять временные метки файлов, чтобы определить, какие файлы устарели и какие задачи ему не нужно выполнять. Возможно , вы можете сделать это с помощью различных сценариев оболочкиtasks.json
, но использование файлов Makefile было бы гораздо удобнее. Для очень больших проектов с большим количеством исходного кода это очень хорошая функция, так как вы можете сэкономить много времени вместо того, чтобы заново создавать 100 файлов, в которых вам не было необходимости.make
содержит механизм интерфейса, поддерживающий правила суффиксов и поддержку подстановочных знаков. Я не думаюtasks.json
, что поддерживаю это. Вероятно, вы можете использовать некоторые дополнительные сценарии оболочки для достижения того же самого, но это будет не так аккуратно, какmake
это делается.- Наконец, файлы Makefile можно запускать в любой системе , которая есть
make
, и, следовательно, она не зависит от кода VS.
Если вы работаете над небольшим/достаточно простым проектом, вы можете абсолютно работать над ним без использования make
. Для крупных проектов make
это разумный выбор.
В моем проекте в колледже мы используем файлы Makefile. Мы работаем над кодом VS, поэтому мы настроили tasks.json
сценарии так, чтобы они просто использовали команды make с указанным файлом Makefile. Вы тоже можете это сделать, если хотите.
Комментарии:
1. Ты полностью освещаешь все то, что я хотел знать. Полностью понимаю, большое вам спасибо!
2. @Такуяхара Рад помочь