1. 主页
  2. 文档
  3. Fuchsia OS 简体中文文档 2021
  4. 开发
  5. 编程语言
  6. 命名规范

命名规范

命名 C/C++ 对象

包含路径

有四类头文件:系统、全局、库和实现。

系统头文件

#include <zircon/foo/bar.h>
定义

此类头文件定义内核和用户空间之间的接口,也称为 vDSO 接口。这类头文件定义了系统调用,包括相关的类型和结构。这类头文件也定义了一些基本的 C 和 C++ 机制,例如,以明确定义的顺序崩溃。

说明
  • 系统头文件可能安装在 zircon/ 下,而不是 lib/zircon/ 下。
  • 系统调用包装器(如 zx)不被视为系统头文件。它们是依赖于系统头文件的库文件(见下文)。
  • 标准系统头文件(例如,来自 C 和 C++ 标准库的头文件)具有其标准路径。
示例
  • #include <zircon/process.h>
  • #include <zircon/syscalls/hypervisor.h>
  • #include <stdint.h>
  • #include <algorithm>

全局头文件

#include <fuchsia/foo/bar.h>
定义

此类头文件定义了用户空间组件之间的系统范围内的约定。该类头文件是根据这些约定的 FIDL 定义生成的。

Notes
  • 手动编写的代码应该显示在库头文件中,而不是全局头文件中。
示例
  • #include <fuchsia/sys/cpp/fidl.h>
  • #include <fuchsia/sysmem/llcpp/fidl.h>

库头文件

#include <lib/foo/bar.h>
定义

库头文件是用于应用程序而手动编写的代码。库头文件定义的接口是应用程序的本地接口。一些库是 Fuchsia 特有的,并为一些较低级别的系统设施提供人机工程包装器。有些库可能与 Fuchsia 没有直接关系。

说明
  • 所有的库头文件都在 lib/ 目录中,以避免与应用程序使用的其他头文件冲突。
  • 库头文件不能直接放在 lib/ 下,必须存在子目录(lib/foo/)。
示例
  • #include <lib/fit/function.h>
  • #include <lib/sys/cpp/component_context.h>
  • #include <lib/zx/event.h>

实现头文件

#include "src/foo/bar.h"
定义

实现头文件位于 Fuchsia 平台源代码树的内部。它们从未包含在 SDK 中,引用时使用从源代码树根目录开始的绝对路径。

说明
  • 包含实现头文件使用 "(不是 < )来表示路径相对于源代码树的根目录。
示例
  • #include "src/ui/scenic/bin/app.h"
  • #include "src/lib/fxl/observer_list.h"
这篇文章对您有用吗?

我们要如何帮助您?

Comments

Leave a reply

您的电子邮箱地址不会被公开。