

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 初始化和关闭 适用于 C\$1\$1 的 AWS SDK
<a name="basic-use"></a>

使用适用于 C\$1\$1 的 AWS SDK 的应用程序必须将其初始化。同样，在应用程序终止之前，必须先关闭 SDK。这两个操作都接受影响初始化和关闭进程以及随后对 SDK 的调用的配置选项。

所有使用适用于 C\$1\$1 的 AWS SDK 的应用程序都必须包含 `aws/core/Aws.h` 文件。

适用于 C\$1\$1 的 AWS SDK 必须通过调用 `Aws::InitAPI` 进行初始化。在应用程序终止之前，必须通过调用 `Aws::ShutdownAPI` 关闭 SDK。每个方法都接受 [https://docs.aws.amazon.com/sdk-for-cpp/latest/api/aws-cpp-sdk-core/html/struct_aws_1_1_s_d_k_options.html](https://docs.aws.amazon.com/sdk-for-cpp/latest/api/aws-cpp-sdk-core/html/struct_aws_1_1_s_d_k_options.html) 的一个参数。对 SDK 的所有其他调用都可以在这两个方法调用之间执行。

**所有在 `Aws::InitAPI` 和 `Aws::ShutdownAPI` 之间执行的适用于 C\$1\$1 的 AWS SDK 调用，要么包含在一对花括号内，要么通过这两个方法之间被调用的函数来发起。**

下面显示了一个基本骨架应用程序。

```
#include <aws/core/Aws.h>
int main(int argc, char** argv)
{
   Aws::SDKOptions options;
   Aws::InitAPI(options);
   {
      // make your SDK calls here.
   }
   Aws::ShutdownAPI(options);
   return 0;
}
```

**适用于 C\$1\$1 的 SDK 及其依赖项使用 C\$1\$1 静态对象，静态对象的销毁顺序不由 C\$1\$1 标准决定。为避免静态变量销毁顺序的不确定性导致内存问题，请勿将对 `Aws::InitAPI` 和 `Aws::ShutdownAPI` 的调用封装到另一个静态对象中。**