2016-02-29 35 views
2

我正在對顯示新方法的庫進行更改,但它僅適用於特定體系結構。例如,如果從ARM程序集調用它,我想要一個編譯時錯誤,指示您使用有條件的編譯器來排除該調用。有什麼辦法可以做到這一點?像下面這樣:如何使用自定義消息強制執行Swift編譯器錯誤

public func x86Only() { 
    #if arch(x86_64) 
    // Do something here 
    #else 
     compiler_fail("x86Only() can only be called from x86_64 architecture") 
    #end 
} 

是否有點像(發明)以上compiler_fail()爲雨燕存在嗎?

fatalError()不能很好地工作,因爲它會觸發運行時斷言失敗,而不是在編譯時捕獲用戶錯誤。

回答