簡體   English   中英

如何使用.so文件作為c中的主要參數?

[英]How to use .so files as main arguments in c?

我必須編寫一個ac程序,該程序在主方法中獲取一個.so文件(共享對象)作為參數,並在其上調用函數f。 它期望函數f存在於此庫中。 我的程序必須可以處理任何.so文件,因此無法直接包含它們。

所以打電話

./myprogram myLibrary.so

myprogram必須執行以下操作:

int main(int argc, char *argv[]) {
    return argv[1].f();
 }

如何實現這一目標,以及在編譯代碼時還要考慮什么?

您嘗試做的事情稱為庫的“動態加載”。 在類似Unix的操作系統上,您要查找的調用是dlopen() 它需要一個文件名和一些標志,並打開指定的共享庫。 然后,您可以使用dlsym()例程查找單個符號(例如函數f()),然后可以在程序中的其他位置調用它們。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM