[英]Execute a C program from another program in gcc
我需要在項目中包含一個.h文件,該文件將在運行時提供。 由於.h文件是在鏈接時鏈接的,因此我無法包含.h文件。 因此,我決定編寫一個虛擬程序,該程序將創建.h文件,然后調用我的實際程序。 反正有做到這一點。 或者任何其他解決方案都是可能的。 我基本上需要在程序開始執行之前創建一個.h文件,並將其鏈接到我的程序。 我實際上應該獲取一個由用戶創建的文件,解析該文件,然后使用該文件中存在的字段創建一個結構。例如,如果文件包含以下數據:-fno:int:4,fname:char:30 ,ftype:int:4,那么我應該創建一個結構,如struct somename { int fno; char fname[30]; int ftype };
struct somename { int fno; char fname[30]; int ftype };
然后,我應該能夠創建所創建結構的實例。 這就是我喜歡做的
dlopen是一種解決方案。 它允許在運行時加載動態庫。
您可以做的是:
我會用一個Makefile
; 您的程序將在運行時接收頭文件(也許檢查它?),然后execve()
make
命令傳遞文件名。
但是,這聽起來很麻煩。 也許您正在嘗試使用錯誤的工具來實現目標。 也許您想先使用一些腳本? 或編寫兩個單獨的程序..? 你想做什么?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.