Keil Uvision 5 添加头文件和源文件?

Keil Uvision 5 adding header files and source files?

我从 Nordic SDK 的 keil 示例项目开始。这个问题不是关于nordic sdk,而是Keil如何连接头文件和源文件。在我能理解的情况下,Keil 隐藏了所有合并到 main.c 文件中的头文件,见下图。

我想添加我自己的名为 "physical.h" 的头文件,我在其中定义我添加的其他硬件。 有时我想添加头文件和源文件“*.c”文件。 我可以具体做什么来添加一个新文件,并用我的 main.c 文件编译这个新文件?演练将不胜感激。

我认为Keil 在文件夹结构意义上并不直观。但是,它可能适合模块化设计,因为它可以轻松地包含计算机上许多地方的文件(git、图书馆等...)。

我们先从问题一开始(添加头文件): main.c 文件中的头文件是已包含内容的映像,"working"。通过右键单击 main.c 的父文件夹并单击 "Add new item to group " 添加一个新文件。从菜单中选择 C-file/H-file 或任何其他合适的文件。

如果还没有组,只需从父文件夹中添加一个组即可。 右键单击并按 "add group ..."。

现在,您可能会感到困惑的是 .h 文件不会出现在您刚刚创建的文件夹中。 .c 文件将出现,但不会出现 .h!您会在新的 window 中找到打开的文件。右键单击包含您刚刚创建的文件名的选项卡,然后单击 "copy full path"。

棘手的部分来了。 转到 Keil 菜单中的项目选项卡,然后单击 "options for target " 或 ALT+F7。 转到选项卡 "C/C++" 选项卡。在 "Include Paths" 槽中,将是一个指示“...”的按钮,单击它。 在右上角,按住第一个图标会显示"New (insert)",点击它。单击您刚刚创建的插槽中的新按钮“...”,这将打开一个文件夹菜单。这是您找到文件并添加该文件的父文件夹的地方。但是,您可能需要移动您创建的文件以找到一个好的结构。

Keil Uvision 5内部的结构只是虚拟文件夹,创建文件只是放在工程文件夹中,没有结构。现在找到一个好的解决方案,取决于你,如果你想出一个,请发表评论。

我想补充的最后一部分是您刚刚包含此文件时发生的情况。好吧,进入你的 main.c 文件,包括头文件,就像在正常的 C 约定中一样。 #include "myfile.h"。如果您尝试编译,它应该不会显示任何错误,并且您的 main.c 文件将包含您刚刚包含的相同 .h 文件的 sub-file。

第二个问题: 对于 C-files 你可以只添加它们,和之前一样,但是,Keil 会将它们全部转储到你的项目的源代码中,根本没有结构。不幸的是,对于结构,您必须在 Keil 之外进行。