我也能写vim的c++dll了

参考地址:1,vim扩展调用库下载地址
c++代码如下:

"C" 引出 符* f(*a){
    静 符 内容[2048];
    串 b=a;b=b+b;整 c=b.大小();断定(c<2048);
    复制串几(内容,b.c串(),c);中 内容;
}//注意用法,太坑人了.
//编译命令:!cl /LD % 后面一大堆.

坑人的地方在于,要用静符作为输出,还有是引出,而且不能放在符*(返回)后,及b.c串()来表示,而不是b来表示,都是细节.
vim方面代码如下,开始没搞对:

let w= libcallex#load("f.dll")
let m= w.call("f",["ab"],"string")
echo m
call w.free()

自带libcall开始是,没有正确加载f.dll.
加载了,就行了.记住,要正确的加上类型(串),不然不正确,你还以为错了.
微软底层,现在是utf8了,所以不能用中文作为函数名.

let w= libcall("f.dll",Zbc("好啊"),"中文")
echo w

libcall的dll要放在$VIMRUNTIME目录里面

posted @ 2021-04-18 17:08  zjh6  阅读(24)  评论(0)    收藏  举报  来源