![]() |
1
1
在np的getentrypoints中定义自己的np\u your new函数,现在当np\u新建之后,框架用实例调用np\u your new。当您的回调刚刚被调用时,可以保存该实例。 |
![]() |
2
2
最好的方法实际上是用一个字段扩展npobject以保存相关的npp实例,并为npclass定义提供allocate/deallocate函数。然后,可以将NP对象强制转换为子类型以访问实际的NPP实例。 我愿意 不是 建议在上面建议的全局级别(np_GetEntryPoints等)执行此操作,因为可能加载了多个插件实例(甚至可能在同一页上),并且您希望确保调用的是正确的实例。不幸的是,似乎有很多示例代码,其中一些随机实例只是保存在一个全局变量中,并尽可能地更新。 作为一个例子,假设C++,您将要扩展NPObject:
然后,您的NPClass定义需要具有分配和解除分配定义:
可以这样实现:
当您需要调用np_invoke时,假设您有npobject*(例如,在obj_invoke内部),您只需向下强制:
|
![]() |
MaPo · Linux,设置锁定ICMP_过滤器选项 5 月前 |
![]() |
Doohyeon Won · 内联函数上的奇怪现象?[关闭] 5 月前 |
![]() |
Bobby · 复合字面值总是左值吗? 5 月前 |
![]() |
9-Pin · C: 嵌套结构的堆栈内存分配 5 月前 |