12个版本

0.6.3 2020年3月2日
0.6.2 2019年2月28日
0.5.0 2019年2月28日
0.4.0 2019年2月26日
0.1.3 2019年2月20日

#16 in #memory-leaks

33 每月下载量

MIT 许可证

175KB
4.5K SLoC

hexchat-rs

创建HexChat插件的API。

要开始,创建一个代表您的插件的struct,并为其实现Plugin。然后,在该struct上调用plugin!

所有插件都应该构建为cdylibs,或者如果出于某种原因没有其他选择,则构建为dylibs。不要尝试定义一个main()符号;Plugin::new是您插件的'入口点'。就这个而言,不要尝试定义HexChat C文档中描述的extern fn函数 - 这将由plugin!宏为您处理。

如果需要窗口操作,则应启用window功能。

不建议使用持有堆资源的静态变量,这会导致内存泄漏。此crate为此目的提供了一个safe_static!宏。请注意,任何创建并访问安全静态的线程都必须在您的插件Drop实现中终止,否则是不确定的。即使您不使用它,您也应该杀死它们,因为否则它们也会造成内存泄漏。

依赖项

~4–7.5MB
~157K SLoC