ODC库使用:Legacy ODB API
12/02
本文最后更新于
2024年12月02日,已超过
89天没有更新。如果文章内容或图片资源失效,请留言反馈,我会及时处理,谢谢!
ODC库中还提供了legacy ODB API接口,在官方文档中未进行说明,需要通过阅读源代码才能了解其功能。
ODB C/Fortran API接口说明可以参阅:
odc/src/odc
目录下的odccapi.cc和odccapi.h文件定义了C API;odc/src/fortran
目录下的odc_c_binding.f90定义了Fortran API,实际上大部分Fortran API调用的就是C API。
ODB API命令约定是以odb_
为前缀的接口名称,前面介绍的ODC库一般以odc_
前缀。
ODB API主要包括四类:
- 读取ODB消息:
odb_read_*
接口 - 写入ODB消息:
odb_write_*
接口 - SQL语法:
odb_select_*
接口 - 追加消息:
odb_append_*
接口
ODB API设计是传统的C接口设计风格,其接口很类似NetCDF API接口设计,而最新的ODC库API是面向对象设计,以类对象构建API。
对于Fortran用户,可以阅读odc/src/fortran/legacy_fortran_api_examples.f90
示例程序了解如何调用ODB API。
如果使用ODB Fortran API,需要引用odc_c_binding模块
use odc_c_binding
编译链接时要链接库-lodccore -lodc_fortran
。
$ ifort -I$ODC_DIR/module/odc -o legacy_fortran_api_examples.exe legacy_fortran_api_examples.f90 -L$ODC_DIR/lib64 -lodccore -lodc_fortran
ODB API属于旧接口,不确定接口会一直保留还是会在将来某个版本中废弃。

