This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | Next revision Both sides next revision | ||
pcb:plugins [2018/06/23 10:27] cparker |
pcb:plugins [2018/06/23 13:19] cparker [Plugin Mechanics] |
||
---|---|---|---|
Line 3: | Line 3: | ||
=====Plugin Mechanics===== | =====Plugin Mechanics===== | ||
+ | pcb plugins are essentially shared libraries that pcb will load at run-time. Because of this, they can be written in just about any language that can be compiled into a shared library. I haven't verified anything other than C and C++, but it ought to be possible. If you've successfully written a plugin in another language, let me know! | ||
+ | At runtime, pcb scans several directories for .so/.dll files. If it finds one, it opens it and looks for a couple of symbols: "hid_<file basename>_init" and "pcb_plugin_init". If it finds one, it executes it as a function. These functions are responsible for registering the code they represent with pcb. | ||
====Registration==== | ====Registration==== | ||