5个版本
0.0.6 | 2022年12月21日 |
---|---|
0.0.5 | 2022年12月19日 |
0.0.3 | 2021年12月19日 |
0.0.2 | 2017年3月7日 |
0.0.1 | 2016年12月20日 |
#895 在 科学
12KB
209 代码行
fitsio-sys-bindgen
一个底层FFI包装器到cfitsio
的bindgen
实现。
这个包装器需要使用clang-3.9,有关更多信息,请参阅上游bindgen
的要求。
参阅主要文档
lib.rs
:
此包是使用rust-bindgen
自动生成的,因此不是用户生成的。
包含的函数预计将与fitsio
一起使用,它是一个高级API包装器,用于低级直接C绑定,尽管绑定已经足够完整,可以单独使用。
此代码将不会直接进行文档编制,因此用户应参考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
fitsio_sys::ffinit(&mut fptr as *mut *mut _,
filename.as_ptr(),
&mut status);
// Add an empty primary HDU
fitsio_sys::ffphps(fptr, 8, 0, ptr::null_mut(), &mut status);
// Finally close the file
fitsio_sys::ffclos(fptr, &mut status);
}
assert_eq!(status, 0);
依赖关系
~0–2MB
~37K SLoC