开发
本章将帮助用户在 ZStudio 中创建解决方案和项目。解决方案和项目的概念可以参考 Visual studio 中 Project / Solution 结构。
解决方案和项目
在 ZStudio 中,解决方案是包含一个或多个项目的容器,每个项目可以独立构建并且拥有自己的代码和配置。解决方案作为顶级容器,负责协调和管理多个项目之间的依赖关系以及生成顺序。
解决方案(Solution)可以包含多个项目(Project),同一个项目也可以存在于多个解决方案中;类似的,同一份源码也可以用于生成不同项目。
项目与项目文件
每个项目仅能生成一种项目类型文件,如可执行文件或者库文件。但用户可以为同一份源码创建多个项目生成不同类型的文件。ZStudio
为解决方案中的每个项目生成单独的 {project_name}.zsproj 项目文件,
{project_name}.zsproj 包含项目的所有配置,包括该项目的构建、运行、调试、性能分析等设置参数,不建议手动编辑该文件。
解决方案与解决方案文件
ZStudio 中的解决方案可以包含单个或多个项目。当用户打开某个解决方案时,ZStudio 自动加载该解决方案包含的所有项目。用户可以同时处理属于同一个解决方案的多个 项目,但是在单个
ZStudio 窗口中只能打开一个解决方案,用户也可以根据需要打开多个窗口同时处理多个解决方案。ZStudio 中的解决方案由文本文件 {solution_name}.zssln 描述,当用户将多个不同的项目配置为解决方案的一部分,文本文件将自动更新描述,不应对其进行手动编辑。
解决方案资源管理器
解决方案资源管理器(Solution Explorer)中包含了与解决方案/项目有关的大多数操作,解决方案资源管理器包含项目导航(Project Navigator)和文件导航(File Navigator)和项目快捷控制(Project Controller)等视图,默认显示项目导航和文件导航视图。用户可以通过右上角的 ( 更多操作...)按钮自定义显示或隐藏各个视图。
项目快捷控制(Project Controller)或者工具栏(Toolbar)提供了项目开发最常用的工具快捷按钮,包括构建、构建配置、运行、运行配置、调试、调试配置。用户也可以通过项目快捷控制或者工具栏中的下拉框快速切换当前操作的项目并更改项目的配置、目标平台、目标 SoC。
项目导航(Project Navigator)以目录树结构显示了解决方案中每个项目的结构,每个项目节点展开后包含头文件节点(Headers)、源码文件节点(Sources)、项目输出(Output)、引用节点(References)以及外部依赖(Dependencies)节点。
文件导航(File Navigator)中存放了解决方案中包含的所有文件,包括解决方案文件
{solution_name}.zssln 、项目配置文件 {project_name}.zsproj
及所有项目文件夹。
快速上手
本节将介绍如何在 ZStudio 中创建解决方案和项目,如何在静态库项目和可执行项目之间创建引用关系,以及如何添加项目的外部依赖。
创建空解决方案
ZStudio 支持从头开始构造解决方案和项目,用户可以创建不包含任何项目的空白解决方案。
-
在项目导航中,点击"新建解决方案"按钮或者在菜单栏中选择"文件" > "新建解决方案"。
-
在对话框中,输入解决方案的位置和名称(下图中以 Quick_Start 为例),点击"创建" 。
创建新项目
创建空解决方案后,点击项目导航(Project Navigator)中的的"新建项目",向解决方案中添加一个 Hello 项目。在"创建新项目"对话框中,用户需要为新建项目输入名称、存放位置、项目类型、语言及使用的工具链等基本信息。
将"项目类型"选择为"可执行项目,并"在"解决方案(Solution)"下拉框中选择"添加至现有解决方案(Add To Exist)" 将 Hello 项目添加至 Quick_Start 解决方案中。
用户也可以选择"添加项目"并指定本地电脑中的路径将已存在的项目添加至当前解决方案中。
当用户在没有解决方案的情况下直接新建项目时,ZStudio 会自动创建一个与项目同名的解决方案作为容器,将该项目包含在其中,确保即使用户没有显式创建解决方案,ZStudio 仍然会为项目提供管理结构。
添加项目代码并构建运行
用户可以向 Hello 项目中添加项目代码。右键点击"Sources"节点选择"新建源码文件",或者直接点击"+"新建源码文件。在弹出的对话框中为源码文件命名 main.c。源码文件将在编辑器中打开,请在编辑器中输入代码并保存。
#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("Hello World\n");
return 0;
}
点击 (Build)按钮开始构建 Hello 项目,在底部的构建控制台中检查构建输出和结果。
点击 (Run)按钮并在运行控制台中检查运行结果。
添加项目引用
解决方案通常包含多个项目,如静态库项目,动态库项目或可执行项目,这些项目之间可能存在引用(Reference)。添加项目引用关系,除 Hello 项目外,需要再新建一个 Add 静态库文件项目。
-
在"解决方案资源管理器"中的"项目导航"的右键上下文菜单中,选择"新建项目"或者将鼠标悬浮于"项目导航"节点然后单击 + 按钮。
在"添加新项目"页面中,将项目命名为 Add,然后在"项目类型"下选择"静态库",将新建项目 Add 添加至现有解决方案 Quick_Start 中,然后选择"创建"。
-
向 Add 项目中添加代码
展开项目目录树,右击"头文件(Headers)"节点选择"新建头文件",在弹出的对话框中为头文件命名为 add.h 并选择文件存放位置。文件将在编辑器中打开,请在编辑器中输入代码并保存。
add.hint add(int num0, int num1);add.h存放于项目文件夹并显示在"Headers"节点中。右键点击"Sources"节点选择"新建源码文件",或者直接点击"+"按钮。在弹出的对话框中为源码文件命名
add.c。这里定义一个简单的加法运算函数。add.cint add(int num0, int num1)
{
return num0 + num1;
}add.c存放于项目文件夹并显示在"Sources"节点中。 -
修改 Hello 项目源码
在 Hello 项目的源码文件
main.c中添加对 Add 项目的引用。main.c#include <stdio.h>
#include <stdlib.h>
#include "add.h"
int main()
{
printf("Hello World\n");
int num0 = 3;
int num1 = 5;
int sum = num0 + num1;
printf("num0 + num1 = %d\n", sum);
return 0;
} -
添加引用关系
添加引用(Reference)会在两个项目之间创建依赖关系,构建解决方案时会先构建 Add 静态库项目,再构建当前 Hello 可执行项目。
右键单击 Hello 项目的"