繁体   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