Inlinec - 在 Python 腳本中使用 C 程式碼的新方法

專案 內聯 提出了一種將 C 程式碼內嵌整合到 Python 腳本中的新方法。 C 函數直接在同一個 Python 程式碼檔案中定義,並透過「@inlinec」裝飾器突出顯示。 摘要腳本由Python解釋器原樣執行,並使用Python中提供的機制進行解析 編解碼器,這使得可以在解釋器解析腳本之前連接解析器來轉換腳本(通常,codecs模組用於透明文字轉碼,但它也允許您任意轉換腳本的內容)。

解析器作為模組連接(“from inlinec import inlinec”),它執行初始處理並即時將使用 @inlinec 註釋突出顯示的 C 函數的定義轉換為 ctypes 綁定,並將 C 函數的主體替換為對這些綁定的調用。 經過這樣的轉換後,Python解釋器會收到正確轉換後的腳本來源文本,其中使用以下命令呼叫C函數 類型。 專案中也採用了類似的方法 吡咯4,它允許您在一個檔案中混合 HTML 和 Python 程式碼。

# 編碼:內聯
從 inlinec 導入 inlinec

@inlinec
定義測試():
#包括
無效測試(){
printf("你好,世界");
}

到目前為止,該開發只是一個實驗原型,它存在一些缺點,例如缺乏對向函數傳遞指標(字串除外)的支持,需要運行
「gcc -E」用於程式碼預處理,將中間的*.so、*.o和*.c檔案保存在當前目錄中,不緩存轉換後的版本並執行不必要的解析階段(每次運行時延遲很長)。

來源: opennet.ru

添加評論