我也能写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目录里面
浙公网安备 33010602011771号