Swift 與 C++ 的互操作性工作組成立

2022-02-08 09:00:06

近日 Swift 社群釋出,為了進一步提供 Swift 和 C++ 之間的互操作性支援,他們成立了 Swift 和 C++ 互操作性工作組,以作為 Swift 專案的一部分。這個新的工作組的職責就是負責開發和設計 C++ 和蘋果開發的 Swift 之間的互操作性模型。

在公告中,Swift 開發者 Alex Lorenz 表示,之所以要成立 Swift 與 C++ 工作組是如今已有大量的開發者對這兩種語言之間的雙向互操作性產生了極大的興趣。因此該工作組將提供一個框架,以完善互操作層的目標和設計,並探討對 Swift 編譯器進行修改的方案,以支援兩種語言的雙向互操作性。

工作組的工作細節:

  • 該工作組負責開發和設計 C++ 和 Swift 之間的互操作性模型
  • 工作組將通過視訊每週開會一次
  • 工作組最初將集中討論如何快速迭代這兩種語言之間的互操作性模型
  • 該工作組是對現有 Swift 開發過程的補充。工作組將首先設計互操作性模型,然後將其帶回 Swift 社群進行正式評估和討論。

Swift 論壇:

論壇上的 "開發" 板塊將會有一個新的 "C++ 互操作性" 子板塊,該板塊對所有人開放,將承載關於 C++ 互操作性的相關技術討論貼文。除了技術討論之外,還將包括工作組會議的會議記錄。

如今在 zoecarver、egor.zhdan、gribozavr 和 Michael Forster 等開發者的貢獻下,目前 Swift 編譯器已經能夠匯入和使用一些 C++ 的 API,其中就包括像 std::stringstd::vector 這樣的 C++ 標準庫型別。在工作組成立之後,兩者之間的互操作性有望獲得進一步提升。

除了工作組現有成員以外,其他對這個專案感興趣的開發者也可以參與進來,其中就包括:

  • 在 Swift 編譯器的互操作性層中進行程式碼更改
  • 為此功能編寫面向使用者的檔案
  • 審查相關的 PR 和/或提案
  • 提供設計輸入,用於在兩種語言之間對映特定的程式碼模式

但所提出的修改都必須符合 Swift 的目標和理念,建立 Swift 語言或標準庫的分支,以及建立一個沒有分支的 dialect 都不是他們的選擇。

感興趣的開發者可以檢視釋出在 Swift GitHub 頁面上的 "",裡面詳細描述了 Swift 和 C++ 之間雙向 API 互操作性的目標和設計。

展開閱讀全文