

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 適用於 C\$1\$1 的 AWS SDK 程式碼範例入門
<a name="getting-started-code-examples"></a>

## 程式碼範例的結構
<a name="structure"></a>

Github 上的 [C\$1\$1 範例資料夾](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/cpp/example_code)包含每個 AWS 服務的專案資料夾。一般而言，資料夾中的個別 .cpp 來源檔案會示範該服務的特定功能或動作。例如，對於 Amazon DynamoDB，從資料庫*取得*項目並將項目*上傳*到資料庫有兩種不同類型的動作，因此 DynamoDB 資料夾中的每個 都有單獨的檔案： `get_item.cpp`和 `put_item.cpp`。每個 .cpp 檔案都包含 `main()`函數，做為獨立可執行檔的進入點。專案可執行檔會在您的建置系統指定的資料夾中產生，而且有一個對應於每個範例來源檔案的可執行檔。可執行檔的檔案名稱遵循平台慣例，例如 `{name}.exe`或 ，`{name}`並且`CMakeLists.txt`套用任何自訂字首，例如 `run_`。

**執行範例功能**

1. 從 GitHub 上的程式碼範例[AWS 儲存庫下載所需的程式碼範例](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/cpp/example_code)。

1. 開啟 .cpp 檔案以探索其`main()`函數和任何呼叫的方法。

1. 建置專案，如[開始使用 適用於 C\$1\$1 的 AWS SDK](getting-started.md) 中的入門範例所示。請注意，建置專案會針對專案中的每個來源檔案產生每個可執行檔。

1. 執行所選功能的可執行檔。
   + 在命令提示字元中，根據`*.cpp`檔案名稱使用可執行檔執行該程式。
   + 如果您在 IDE 中工作，請選擇您要示範的功能`.cpp`檔案，並選取它做為啟動選項 （或啟動物件）。

### 單位測試
<a name="unittest"></a>

範例測試是使用 GoogleTest 架構撰寫。若要進一步了解，請參閱 [GoogleTest 網站上的 GoogleTest Primer](https://google.github.io/googletest/primer.html)。 GoogleTest 

每個範例的單位測試都在包含自己`CMakeLists.txt`檔案的`tests`子資料夾中。對於每個範例來源檔案，都有一個名為 的對應測試檔案`gtest_<source file>`。子資料夾的測試可執行檔名為 `<AWS 服務>_gtests`。

### CMakeLists.txt 檔案
<a name="CMakeLists"></a>

每個服務的 資料夾包含名為 `CMakeLists.txt` 檔案的檔案。其中許多檔案都包含類似下列的建構：

```
foreach(EXAMPLE IN LISTS EXAMPLES)
         add_executable(${EXAMPLE} ${EXAMPLE}.cpp)
         target_link_libraries(${EXAMPLE} aws-cpp-sdk-email aws-cpp-sdk-core)
endforeach()
```

 對於 資料夾中的每個 .cpp 檔案， `CMakeLists.txt` 檔案會建置一個可執行檔 (cmake：`add_executable`)，其名稱是根據沒有副檔名的來源碼檔案的名稱。

## 在 Visual Studio 中建置和偵錯程式碼範例
<a name="buildingOnVisualStudio"></a>

**建置和執行 Amazon S3 程式碼範例**

1. 取得 Amazon S3 範例原始程式碼。此程序使用[使用 的 Amazon S3 程式碼範例 適用於 C\$1\$1 的 AWS SDK](examples-s3.md)程式碼範例來啟動並使用 Visual Studio 執行。

1. 在 Windows Explorer 中，導覽至 `s3` 資料夾 （例如 `\aws-doc-sdk-examples\cpp\example_code\s3`)。

1. 用滑鼠右鍵按一下`s3`範例資料夾，然後選擇**使用 Visual Studio 開啟**。  CMake 專案的 Visual Studio 沒有「專案」檔案，而是整個資料夾。

1. 在 Visual Studio 頂端選單的**組態選取器**下拉式清單中，請確定選取的組態符合您從來源建置 SDK 時選取的建置類型。  例如，如果您使用**偵錯**從來源建置 (`-DCMAKE_BUILD_TYPE=Debug` SDK 安裝說明中的 CMake 命令列），則應選取偵錯組態。

1. 開啟檔案 `CMakeLists.txt`。

1. 按一下 **Save (儲存)**。每次按一下`CMakeLists.txt`檔案上的**儲存**時，Visual Studio 都會重新整理 CMake 產生的檔案。  如果顯示**輸出**索引標籤，您可以看到此世代產生的日誌訊息。
   + **輸出**標籤中有一個下拉式方塊，指出：「**顯示來自：的輸出**」和 **CMake** 應該是預設選取的選項。
   + 最後一個訊息輸出應顯示「**CMake 產生完成」。** 
   + 如果最後一個訊息不是這樣，則 CMake 檔案會發生問題。在解決此問題之前，請勿繼續進行後續步驟。  請參閱 [針對適用於 C\$1\$1 組建問題的 AWS SDK 進行故障診斷](troubleshooting-cmake.md)。
   + 請注意，CMake 會使用 CMake 快取來提高速度。如果您正在處理 CMake 問題，您希望確保「清理板」，以便您收到的錯誤訊息實際反映您最近的變更。  在解決方案總管中，按一下滑鼠右鍵`CMakeLists.txt`並選擇 **CMake 快取**，然後選擇**刪除快取**。在逐步處理 CMake 問題時經常這樣做。

1. 若要從 Visual Studio 內建置和執行範例，Visual Studio 會將可執行檔放置在與命令列不同的資料夾結構中。若要執行程式碼，必須將 SDK 可執行檔複製到正確的位置。  尋找 CMakeLists 檔案的「`TODO`」行 (\$1line 40)，然後選擇註解的行，以便在 Visual Studio 中使用。Visual Studio 不會使用建置類型的專用子資料夾，因此不會包含此項目。  切換`CMakeLists.txt`檔案中的註解行以供 Visual Studio 使用。

1. 刪除 CMake 快取 （如上所述），按一下 `CMakeLists.txt` 檔案以選取/啟用標籤，然後再次選擇在`CMakeLists.txt`檔案上**儲存**以啟動產生 CMake 組建檔案。

1. 開啟您要執行之「程式」的來源檔案。
   + 例如，開啟 `list_buckets.cpp`。
   + Amazon S3 範例資料夾經過編碼，因此 Amazon S3 的每個展示「功能」都會在專用可執行檔中僅針對該功能進行示範。  例如， `list_buckets.cpp`將成為僅示範儲存貯體清單的可執行檔。

1. 在頂端選單中，選擇**建置**，然後選擇**全部建置**。
   + **輸出**索引標籤的**顯示來自 的輸出**應反映**建置**的選擇，並顯示所有建置和連結訊息。
   + 最後一個輸出應該是：「**全部建置成功」。**
   + 現在會產生每個個別來源檔案的可執行檔。  您可以在建置輸出目錄中 （例如 `\aws-doc-sdk-examples\cpp\example_code\s3\out\build\x64-Debug`) 進行確認。
   + 請注意，可執行檔的字首為 “run\$1”，因為`CMakeLists.txt`檔案會規定這一點。

1. 在頂端選單中，有一個**綠色箭頭**和**偵錯目標**的**下拉式選單**。  選擇 `run_list_buckets.exe`。

1. 按一下**綠色箭頭執行按鈕**以**選取啟動項目**。

1. Visual Studio Debug 主控台視窗會開啟並顯示程式碼的輸出。

1. 按 鍵以關閉視窗，或手動關閉視窗以終止程式。  您也可以在程式碼中設定中斷點，當您再次按一下執行時，中斷點就會命中。