小编pvi*_*nis的帖子

错误:预期的声明说明符或'list_node'之前的'...'

我有一个catalog.h文件

typedef struct node* list_node;
struct node
{
    operationdesc op_ptr;
    list_node next;
};
Run Code Online (Sandbox Code Playgroud)

和一个parser.h

#include "catalog.h"

int parse_query(char *input, list_node operation_list);
Run Code Online (Sandbox Code Playgroud)

两个标题有#ifndef,#define,#endif.编译器给我这个错误:expected declaration specifiers or ‘...’ before ‘list_node’在parse_query行上.怎么了?我试着把typedef放在parser.h中,没关系.当typedef在catalog.h中时,为什么会出现此错误?

c typedef header declaration

7
推荐指数
2
解决办法
5万
查看次数

golang中的函数与开关表

我正在写一个简单的模拟器(我应该?或者我应该回到c?).无论如何,我正在获取指令并对其进行解码.在这一点上,我有一个像0x81的字节,我必须执行正确的功能.

我应该有这样的东西吗?

func (sys *cpu) eval() {
    switch opcode {
    case 0x80:
        sys.add(sys.b)
    case 0x81:
        sys.add(sys.c)
    etc
    }
}
Run Code Online (Sandbox Code Playgroud)

或类似的东西

var fnTable = []func(*cpu) {
    0x80: func(sys *cpu) {
        sys.add(sys.b)
    },
    0x81: func(sys *cpu) {
        sys.add(sys.c)
    }
}
func (sys *cpu) eval() {
    return fnTable[opcode](sys)
}
Run Code Online (Sandbox Code Playgroud)

哪一个更好?
哪一个更快?
还有
3.我可以声明一个内联函数吗?
4.i有一个cpu struct我有寄存器等,如果我有寄存器和全部作为全局变量会更快吗?(没有struct)

非常感谢你.

emulation go gameboy

6
推荐指数
2
解决办法
3961
查看次数

zsh preexec命令修改

有没有办法修改即将执行的命令?我想将输出重定向到文件,并将其打印在终端上.我找到了ls > file.txt | cat这个工作,所以我想将它添加> file.txt | cat到任何即将执行的命令中.
有没有更好的方法重定向到文件并打印到终端?我正在尝试制作记录器.

zsh zsh-zle

6
推荐指数
2
解决办法
1890
查看次数

重新加载vimrc导致不同的语法突出显示

当我在macvim中打开一个文件时,它就像这个http://imgur.com/a/3cLqB#0.我已经开始,V:source ~/.vimrc<CR>.

打开此文件后,按,V,语法突出显示更改为此http://imgur.com/a/3cLqB#1.所不同的是(,),;,,由蓝,白,变得->,.,?从蓝色,深蓝色变成.为什么会这样?这是我的vimrc文件https://gist.github.com/pvinis/4979592

-
更新:我发现这Valloric/vim-operator-highlight是改变颜色的插件.所以第一张照片是正确的照片.我也发现,只要我这样做:syntax on,颜色就会重置.有没有办法检查语法是否已经开启?

vim

5
推荐指数
2
解决办法
1505
查看次数

我如何避免像这样奇怪的git diff?

我有时会编辑plists或xibs之类的xml文件,有时我会得到差异这个。而不是diff以<dict></dict>开头,而以+2行开始和结束。有时在Objective-C代码中也会发生这种情况。我会在中添加新case内容switch,而diff不会从case下到下开始break,但会再次具有一两行的偏移量。
我知道发生这种情况是因为上一行和下一行基本相同,但是有什么方法可以避免这种情况,解决此问题或以某种方式更改其行为吗?谢谢。

git diff

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

打印通知

如何在obj-C中打印我系统上的每个通知?

[[NSNotificationCenter defaultCenter] addObserver:self ...];
Run Code Online (Sandbox Code Playgroud)

"......"中有什么用?我应该使用NSDistributedNotificationCenter吗?

假设我有一个名为logfunc的函数,它将执行NSLog(@"ok");

谢谢

objective-c nsnotificationcenter

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

在Go中实现范围

我有一个type List []string,我正在实现一些标准函数,如Insert,DeleteAt我想实现,range所以我可以轻松地迭代列表.
我似乎无法找到这样做的方法.

go

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