

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# AWS 共通ランタイム (CRT) ライブラリ
<a name="common-runtime"></a>

 AWS 共通ランタイム (CRT) ライブラリは SDKs。CRT は C で書かれた独立パッケージのモジュラーファミリーで、各パッケージはパフォーマンスが高く、必要なさまざまな機能にフットプリントを最小限に抑えます。これらの機能はすべての SDK に共通で共有しているため、コードの再利用、最適化、精度が向上します。パッケージは以下のとおりです。
+ [https://github.com/awslabs/aws-c-auth](https://github.com/awslabs/aws-c-auth): AWS クライアント側の認証 (標準認証情報プロバイダーと署名 (sigv4))
+ [https://github.com/awslabs/aws-c-cal](https://github.com/awslabs/aws-c-cal)：暗号プリミティブ型、ハッシュ (MD5、SHA256、SHA256 HMAC)、署名者、AES
+ [https://github.com/awslabs/aws-c-common](https://github.com/awslabs/aws-c-common)：基本データ構造、スレッド／同期プリミティブ型、バッファ管理、stdlib 関連関数
+ [https://github.com/awslabs/aws-c-compression](https://github.com/awslabs/aws-c-compression)：圧縮アルゴリズム（ハフマンエンコーディング／デコーディング）
+ [https://github.com/awslabs/aws-c-event-stream](https://github.com/awslabs/aws-c-event-stream)：イベントストリームメッセージ処理（ヘッダー、プレリュード、ペイロード、crc/トレーラー）、イベントストリーム経由のリモートプロシージャ呼び出し (RPC) 実装
+ [https://github.com/awslabs/aws-c-http](https://github.com/awslabs/aws-c-http)：C99 による、HTTP/1.1 仕様と、HTTP/2 仕様の実装
+ [https://github.com/awslabs/aws-c-io](https://github.com/awslabs/aws-c-io)：ソケット (TCP、UDP)、DNS、パイプ、イベントループ、チャネル、SSL/TLS
+ [https://github.com/awslabs/aws-c-iot](https://github.com/awslabs/aws-c-iot): デバイスとの AWS IoT クラウドサービス統合の C99 実装
+ [https://github.com/awslabs/aws-c-mqtt](https://github.com/awslabs/aws-c-mqtt)：モノのインターネット (IoT) 向けの標準の軽量メッセージングプロトコル
+ [https://github.com/awslabs/aws-c-s3](https://github.com/awslabs/aws-c-s3)：Amazon S3 サービスと通信するための C99 ライブラリ実装。高帯域幅の Amazon EC2 インスタンスでスループットを最大化するように設計されています
+ [https://github.com/awslabs/aws-c-sdkutils](https://github.com/awslabs/aws-c-sdkutils): AWS プロファイルを解析および管理するためのユーティリティライブラリ
+ [https://github.com/awslabs/aws-checksums](https://github.com/awslabs/aws-checksums)：効率的なソフトウェア実装へのフォールバック機能を備えた、クロスプラットフォームのハードウェア加速化による CRC32c と CRC32
+ [https://github.com/awslabs/aws-lc](https://github.com/awslabs/aws-lc): Google BoringSSL AWS プロジェクトと OpenSSL プロジェクトのコードに基づいて、Cryptography チームが AWS とその顧客のために管理する汎用暗号化ライブラリ
+ [https://github.com/awslabs/s2n](https://github.com/awslabs/s2n)：C99 による TLS/SSL プロトコルの 実装。セキュリティを優先して小型かつ高速に動作するように設計

CRT は Go と Rust を除くすべての SDK で使用できます。

## CRT の依存関係
<a name="crt-dep"></a>

CRT ライブラリは複雑な関係と依存関係を形成しています。これらの関係を知っておくと、CRT をソースから直接構築する必要がある場合に役立ちます。ただし、ほとんどのユーザーは、言語 SDK ( AWS SDK for C\$1\$1 や AWS SDK for Java など) または言語 IoT デバイス SDK ( AWS IoT SDK for C\$1\$1 や AWS IoT SDK for Java など) を介して CRT 機能にアクセスします。以下の図の「言語 CRT バインディング」ボックスは、特定の言語 SDK の CRT ライブラリをラップするパッケージを示しています。これは `aws-crt-*` 形式のパッケージの集まりで、「\$1」は SDK 言語（[https://github.com/awslabs/aws-crt-cpp](https://github.com/awslabs/aws-crt-cpp) や [https://github.com/awslabs/aws-crt-java](https://github.com/awslabs/aws-crt-java) など）です。

*CRT ライブラリの階層的な依存関係を以下に示します。*

![\[個々の CRT ライブラリが互いにどのように関連しているかを示す CRT 依存関係図。\]](http://docs.aws.amazon.com/ja_jp/sdkref/latest/guide/images/crt-dependency-graph.png)
