小编ven*_*enk的帖子

VIM:如何从用户命令传递参数到函数?

我试图在VIM中创建一个用户定义的命令,它接受一个参数并使用用户提供的参数调用一个函数.看似简单,但我无法让它工作.这是我的foo.vim插件的代码:

function! s:MyFunc(myParam)
    do something
endfunction

command! -nargs=1 MyCommand call s:MyFunc(myParam)
Run Code Online (Sandbox Code Playgroud)

当我在这样的VIM缓冲区中尝试这个时:

:MyCommand exampleParam
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

E121: Undefined variable: myParam 
E116: Invalid arguments for function <SNR>7_MyFunc
Run Code Online (Sandbox Code Playgroud)

这有什么不对?我该如何解决?任何帮助是极大的赞赏.

vim

46
推荐指数
1
解决办法
2万
查看次数

如何确定设备内存的页面帧号?

来自LDD3/Ch.15 /"使用remap_pfn_range"和"简单实现"部分,pfn等同于vm_pgoff字段.我很困惑.怎么会这样?

请注意,vm_pgoff描述为:

文件中区域的偏移量,以页为单位.映射文件或设备时,这是该区域中映射的第一页的文件位置.

因此,如果映射的第一页对应于文件的第一页(我认为这很常见),vm_pgoff将为0.正确吗?如果是这样,这似乎不是remap_pfn_range()的pfn参数的正确值.我在这里错过了什么?什么是正确的价值?为便于参考,我正在复制以下LDD3的相关代码(第426页)

static int simple_remap_mmap(struct file *filp, struct vm_area_struct *vma)
{
if (remap_pfn_range(vma, vma->vm_start, vm->vm_pgoff,
                    vma->vm_end - vma->vm_start,
                    vma->vm_page_prot))
    return -EAGAIN;
...
}
Run Code Online (Sandbox Code Playgroud)

linux kernel device

9
推荐指数
1
解决办法
1456
查看次数

嵌入式系统的命令行实现是否有很好的参考实现?

我知道这并不是什么新鲜事,已经完成了好几次。但是我正在寻找一些参考实现(甚至只是参考设计)作为“最佳实践指南”。我们有一个实时的嵌入式环境,其想法是能够使用“调试外壳”来调用某些命令。示例:“ SomeDevice print reg xyz”将请求SomeDevice子系统打印名为xyz的寄存器的值。

embedded shell command-line

5
推荐指数
1
解决办法
1467
查看次数

Cscope无法创建倒排索引.为什么?

以下命令工作正常:

   $>cscope -b -R
Run Code Online (Sandbox Code Playgroud)

但是,反向索引的选项不起作用:

$>cscope -b -q -k -R
Input file specified two times.

cscope: cannot create inverted index; ignoring -q option
cscope: removed files ncscope.in.out and ncscope.po.out
Run Code Online (Sandbox Code Playgroud)

我用Google搜索了一下,发现了一些点击.但找不到任何答案或解决方案.任何见解都非常感谢.

vim cscope

5
推荐指数
1
解决办法
1354
查看次数

如何确定设备内存的页帧数?

如何确定设备内存的页面帧号?来自LDD3/Ch.15 /"使用remap_pfn_range"和"简单实现"部分,pfn等同于vm_pgoff字段.我很困惑.怎么会这样?

请注意,vm_pgoff描述为:

文件中区域的偏移量,以页为单位.映射文件或设备时,这是该区域中映射的第一页的文件位置.

因此,如果映射的第一页对应于文件的第一页(我认为这很常见),vm_pgoff将为0.正确吗?如果是这样,这似乎不是remap_pfn_range()的pfn参数的正确值.我在这里错过了什么?什么是正确的价值?为便于参考,我正在复制以下LDD3的相关代码(第426页)

static int simple_remap_mmap(struct file *filp, struct vm_area_struct *vma)
{
if (remap_pfn_range(vma, vma->vm_start, vm->vm_pgoff,
                    vma->vm_end - vma->vm_start,
                    vma->vm_page_prot))
    return -EAGAIN;
...
}
Run Code Online (Sandbox Code Playgroud)

linux linux-device-driver linux-kernel

5
推荐指数
1
解决办法
2109
查看次数