小编Fum*_*ter的帖子

为Duff的设备写一个宏

从Zed Shaw的" 学习艰难的道路"开始,在练习23中,他谈到了Duff的装置.这是Duff的设备供参考:

int duffs_device(char *from, char *to, int count)
{
    {
        int n = (count + 7) / 8;

        switch(count % 8) {
            case 0: do { *to++ = *from++;
                        case 7: *to++ = *from++;
                        case 6: *to++ = *from++;
                        case 5: *to++ = *from++;
                        case 4: *to++ = *from++;
                        case 3: *to++ = *from++;
                        case 2: *to++ = *from++;
                        case 1: *to++ = *from++;
                    } while(--n > 0);
        }
    }

    return count;
 }
Run Code Online (Sandbox Code Playgroud)

他要求读者:

"创建一组宏,让你可以像这样创建任何长度的设备.例如,如果你想要32个case语句并且不想写出所有这些的话怎么办?你能做一个放在8的宏吗?一次?"

这真让我难过,我觉得我只需要朝着正确的方向轻推.任何帮助将不胜感激!

c duffs-device c-preprocessor

4
推荐指数
1
解决办法
393
查看次数

Vim插件并不总是加载?

我试图安装autoclose.vim到Vim.我注意到我没有~/.vim/plugin文件夹,所以我不小心制作了一个~/.vim/plugins文件夹(注意插件中的额外's').然后我添加au FileType python set rtp += ~/.vim/plugins到我的.vimrc中,因为根据我的阅读,这将允许我自动获取该文件夹中的脚本.

在我意识到自己的错误并从'插件'中取出额外的's'之前,插件没有为我加载.我很困惑,因为我的运行时路径中甚至没有定义这个新路径.我基本上想知道为什么插件加载时我加载~/.vim/plugin但不是~/.vim/plugins

python vim plugins

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

标签 统计

c ×1

c-preprocessor ×1

duffs-device ×1

plugins ×1

python ×1

vim ×1