2014-02-17 106 views

回答

1

Xorg驅動程序只是一個ELF共享對象插件遵循一些記錄的約定。原則上,你如何獲得這個.so是你自己的業務(如果你有幾個世紀的失敗時間,你理論上可以手動將它寫出來)。 原則上,您可以將libstdc++.so鏈接到您的共享對象(因爲可以將共享對象鏈接到其他對象)。我想你會編譯和鏈接你的插件g++,也許明確需要鏈接-lstdc++

但是,我猜測它可能是不安全的。也許C++ ABI需要一些特定的東西來執行crt0。所以你可以嘗試一下,但是如果你想要的東西不能正常工作(例如異常處理),我不會感到驚訝。它可能取決於C++庫的版本和C庫的版本以及編譯器的版本....我想這可能與最近的g++,最近的libc,最近的libstdc++一起工作得更好....

閱讀Drupper's paper: How to Write Shared Libraries

使您的驅動程序免費軟件,並快速發佈其源代碼,以便您可以從Xorg社區獲得一些幫助(即使您的驅動程序不完整)。使用可能最近Xorg ....