3
Facebook上創建一個開源的快速無損壓縮算法,在zlib的層次和更好的壓縮比定位於實時壓縮的方案,稱爲ZStandard。迅速包裝一個類似Facebook的ZStandard的圖書館?
我一直在尋找一個描述C到迅速包裹,像this,但看起來不夠全面的教程,有什麼prerequests我必須知道寫一個包裝過嗎?
- 當我寫完它時,我也將它作爲開源代碼。
Facebook上創建一個開源的快速無損壓縮算法,在zlib的層次和更好的壓縮比定位於實時壓縮的方案,稱爲ZStandard。迅速包裝一個類似Facebook的ZStandard的圖書館?
我一直在尋找一個描述C到迅速包裹,像this,但看起來不夠全面的教程,有什麼prerequests我必須知道寫一個包裝過嗎?
感謝您一個很好的問題。我已經看過圖書館並玩過它,看起來很有趣。
我會說你需要使用ZSTD C庫在C程序要舒適。您還需要在Swift中進行舒適的編程。根據要包裝的API的部分,您可能需要了解如何處理Swift中的原始內存(Unsafe...
類型)。
一些挑戰,包裝ZSTD時需要考慮:
在編寫包裝時,您可以選擇多種方法。例如,你可以在C中編寫包裝器,它將展示你將在Swift中包裝的簡單API。您可以在包裝框架中包含C代碼,也可以將其保存在單獨的C庫中。
我想出了周圍的API的一小部分的包裝的一個簡單的例子,你可以看看https://github.com/omniprog/SwiftZSTD。