Keil Uvision 5 добавление заголовочных файлов и исходных файлов?

Я начал с примера проекта в keil из Nordic SDK. Этот вопрос не о нордическом sdk, а о том, как Keil соединяет заголовочные файлы и исходные файлы. После того, что я могу понять, Кейл скрывает все заголовочные файлы, объединенные в файл main.c, см. Рисунок ниже.

Keil объединяет заголовочные файлы иерархически в файл main.c

Я хочу добавить свой собственный заголовочный файл с именем "Physical.h", где я определяю дополнительное оборудование, которое я добавил. Иногда я хочу добавить заголовочный файл и исходные файлы "*.c". Что конкретно я могу сделать, чтобы добавить новый файл и скомпилировать этот новый файл с моим файлом main.c? Прохождение было бы оценено.

1 ответ

Решение

Я считаю, что Кейл не интуитивен в смысле структуры папок. Тем не менее, это, вероятно, хорошо для модульного дизайна, поскольку он может легко включать файлы из разных мест на вашем компьютере (Git, библиотеки и т. Д.).

Давайте начнем с первой проблемы (добавление файла заголовка): файлы заголовка в файле main.c представляют собой изображение того, что уже включено и "работает". Добавьте новый файл, щелкнув правой кнопкой мыши по родительской папке main.c и выбрав "Добавить новый элемент в группу". В меню выберите C-файл /H-файл или любой другой подходящий файл.

Если группы еще нет, просто добавьте группу из родительской папки. Щелкните правой кнопкой мыши и нажмите "Добавить группу...".

Теперь, что может сбить вас с толку, так это то, что файл.h не появится в папке, которую вы только что создали. Появятся файлы.c, но не.h! Вы найдете ваш файл в открытом виде в новом окне. Щелкните правой кнопкой мыши по этой вкладке с именем файла, который вы только что создали, и нажмите "Копировать полный путь".

Здесь начинается сложная часть. Перейдите на вкладку проекта в меню Keil и нажмите "Параметры для цели" или ALT+F7. Перейдите на вкладку "C/C++". В слоте "Включить пути" будет кнопка с надписью "...", нажмите ее. В правом верхнем углу, удерживая первый значок, появится надпись "Новый (вставить)", щелкните по нему. Нажмите на новую кнопку "..." в слоте, который вы только что создали, откроется меню папок. Здесь вы найдете свой файл и добавите родительскую папку этого файла. Однако вам может потребоваться переместить созданный вами файл, чтобы найти хорошую структуру.

Структура внутри Keil Uvision 5 - это просто виртуальные папки, а создание файла просто поместит его в папку проекта без структуры. Найти хорошее решение сейчас, зависит от вас, прокомментируйте, если вы его найдете.

Последняя часть, которую я хотел бы добавить, - это то, что происходит, когда вы только что включили этот файл. Хорошо, зайдите в ваш файл main.c, включите заголовочный файл, как в обычном соглашении C. #include "myfile.h". Если вы попытаетесь скомпилировать, он не должен показывать ошибки, и ваш файл main.c будет иметь вложенный файл того же самого файла.h, который вы только что включили.

Вторая проблема: для C-файлов вы можете просто добавить их, так же, как и раньше, однако, Keil сбросит их все в источнике вашего проекта, не имея никакой структуры вообще. Для структуры, вы должны сделать это вне Кейла, к сожалению.

Другие вопросы по тегам