我對C和C++編程相對不熟悉,但是如果可以從共享庫加載和調用符號(據我所知編譯和鏈接很像二進制文件),是否也可以在運行時加載另一個[executable]二進制文件的符號?加載來自其他二進制文件的符號
我特別感興趣的是在Linux上用GCC做這件事。
我對C和C++編程相對不熟悉,但是如果可以從共享庫加載和調用符號(據我所知編譯和鏈接很像二進制文件),是否也可以在運行時加載另一個[executable]二進制文件的符號?加載來自其他二進制文件的符號
我特別感興趣的是在Linux上用GCC做這件事。
理論上是的,你應該能夠從二進制文件中提取出對象並且鏈接它(靜態或者動態),但是它需要你檢查二進制結構。這很容易完成,因爲現代Linux系統都使用ELF二進制文件,這是有據可查的。建議您從wikipedia article開始並從那裏開始。
如果要設置在Windows
就像Unix函數的地址操作系統。像dlopen的和對dlsym
An example of dlsym看6.6。文件demo_dynamic.c
這對我來說是一個很好的開始,謝謝! – andyortlieb