15 个版本
0.5.3 | 2024年7月26日 |
---|---|
0.5.2 | 2023年2月10日 |
0.5.1 | 2022年12月21日 |
0.4.0 | 2021年3月22日 |
0.1.4 | 2016年7月13日 |
#250 in 科学
814 每月下载量
用于 14 个 Crates (4 直接)
6MB
138K SLoC
包含 (自动工具混淆代码, 220KB) ext/cfitsio/configure
fitsio-sys
查看主要文档
lib.rs
:
此包是使用 rust-bindgen
自动生成的,因此不是由用户生成的。
包含的函数预期将与 fitsio
一起使用,这是一个围绕低级直接 C 绑定的高级 API 包装器,尽管绑定已经足够完整,可以单独使用。
此代码将不会直接进行文档记录,因此用户应参考 fitsio
C 文档 以了解使用方法。
关于函数名称的说明
不幸的是,我们必须在整个过程中使用 fits 的短名称。C-api 提供了更描述性的长名称,例如 fits_open_file
而不是 ffopen
,但库中可用的符号只有短名称,长名称仅是预处理器定义。
示例
use std::ptr;
use std::ffi;
let filename = ffi::CString::new("!/tmp/test.fits").unwrap();
let mut fptr = ptr::null_mut();
let mut status = 0;
unsafe {
// Create a new file, clobbering any pre-existing file
ffinit(&mut fptr as *mut *mut _,
filename.as_ptr(),
&mut status);
// Add an empty primary HDU
ffphps(fptr, 8, 0, ptr::null_mut(), &mut status);
// Finally close the file
ffclos(fptr, &mut status);
}
assert_eq!(status, 0);