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

时间:2017-01-27 11:42:53

标签: c header-files keil

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

Keil merges header files hierarchical into the main.c file

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

1 个答案:

答案 0 :(得分:3)

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

让我们从问题一开始(添加头文件): main.c文件中的头文件是已包含和“工作”的图像。通过右键单击main.c的父文件夹添加新文件,然后单击“将新项添加到组”。从菜单中选择C-file / H-file或任何其他适当的文件。

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

enter image description here

现在,让您感到困惑的是.h文件不会出现在您刚创建的文件夹中。将出现.c文件,但不会出现.h!您将在新窗口中找到您的文件。用您刚刚创建的文件名右键单击该选项卡,然后单击“复制完整路径”。

这是棘手的部分。 转到Keil菜单中的项目选项卡,然后单击“目标选项”或ALT + F7。 转到“C / C ++”选项卡。在“包含路径”插槽中,将是一个指示“...”的按钮,单击它。 在右上角,按住第一个图标将显示“新建(插入)”,单击它。单击刚刚创建的插槽中的新按钮“...”,这将打开文件夹菜单。这是您找到文件并添加该文件的父文件夹的位置。但是,您可能需要移动您创建的文件才能找到一个好的结构。

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

我想添加的最后一部分是当您刚刚包含此文件时会发生什么。好吧,进入你的main.c文件,包含头文件,就像普通的C约定一样。 #include“myfile.h”。如果您尝试编译,它应该没有显示错误,并且您的main.c文件将包含您刚才包含的同一.h文件的子文件。

第二个问题: 对于C文件,您可以像以前一样添加它们,但是,Keil会将它们全部转储到项目源中,根本没有结构。对于结构,你必须在Keil之外做到这一点。