1
我最近爲osx 10.9編寫了一個內核模塊,發現我編譯的最終二進制文件中的每個符號都是nm工具未定義的。Kext編譯好符號undefined
如何通過在構建設置中指定標誌來完成?我的意思是,當您構建用戶模式應用程序時,如果符號未解決,則無法正確鏈接。我不能在構建kext二進制文件的命令行中找到任何相關的標誌。
剛剛出來的cuirosity,這個標誌告訴鏈接器的任何未定義的符號是好的?我知道--unresolved-symbols標誌,但它在構建命令行中找不到。
此外,如何直接與mach_kernel鏈接?因爲我剛剛看到一個與男子氣概相關的osx 10.5驅動程序。還是隻有在過去纔有可能?
感謝您的回答。 XBinary從osx書中有一個kext與男子氣概(mach_kernel)的鏈接。 http://www.osxbook.com/software/xbinary/這是爲OSX 10.5豹。老kext鏈接直接?它沒有提供源,所以我沒有什麼可以挖掘的。 – jay 2014-10-02 10:30:16
在64位中,界面已經發生了很大的變化,所以我相信(但是可以糾正),你不能直接鏈接到它。您還需要在kext的info.plist的'OSBundleLibraries'鍵中定義您使用的內核編程接口。您可以通過在構建的kext上運行'kextlibs'來確定這一點。 – Petesh 2014-10-02 11:07:54