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 每月下载量
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