有没有办法从vimscript中编写的vim插件中调用C++共享库函数?
假设有一个hello_world.so,它有一个函数hello_world().每当vim用户使用特定的键绑定时,我想调用此函数.
Ben*_*enj 13
是的你可以这样做,试试: help libcall
您必须使用我怀疑的"cdecl"调用约定将函数导出为未修饰的C函数:
从vim帮助:
对于Win32,您编写的函数必须放在DLL中并使用普通的C调用约定(在Windows系统DLL中使用NOT Pascal).该函数必须只使用一个参数,字符指针或长整数,并且必须返回字符指针或NULL.返回的字符指针必须指向在函数返回后仍然有效的内存(例如,在DLL中的静态数据中).如果它指向已分配的内存,则该内存将泄漏.在函数中使用静态缓冲区应该可以工作,然后在卸载DLL时释放它.
这里有一个如何做到这一点的例子.