簡體   English   中英

從靜態庫函數訪問文本數據文件

[英]Accessing text data files from a static library function

如何啟用靜態庫來提取ascii數據文件中的數據?

我試圖將模型添加到模擬中作為包含從數據文件中讀取數據的函數的庫。 我可以在實際的完整模擬之外編譯和運行主程序中的函數,但是一旦我將函數作為庫放在主機上進行模擬,數據就不再被讀取了。

由於數據的路徑根據用戶而變化,因此無法提供ascii數據文件的絕對數據路徑。 有沒有辦法使用objcopy將數據文件轉換為庫中的目標代碼,或者如何從靜態庫中最佳地訪問數據?

有幾種解決方案可以在編譯時打開一個具有未知位置的文件。 提示用戶輸入文件名,包括目錄。 使用環境變量來指定包含該文件的目錄... Fortran 2003具有獲取環境變量值的內在函數。 從命令行參數中獲取信息...再次Fortran 2003具有此功能的內在功能。 使用所有這些,將文件名構造為字符串變量,並將該變量提供給OPEN語句的FILE關鍵字。

我不知道為什么你包括了Fortran標簽,但在Fortran你:

告訴代碼使用字符串打開您想要的文件

從中讀取

並關閉它

主程序或庫之間沒有區別。

如果您有類似的功能,請說:

void read_data_from_files() { ... }

你需要在DLL中更改它更像:

DataObject read_data_from_file(const char* file_path) { ... }

然后適當地調用它。

您需要設計DataObject

暫無
暫無

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

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