小编Nya*_*yan的帖子

优秀的setjmp/longjmp教程

嗨,我想在C中阅读关于setjmp/longjmp的好教程.如果有一些真实而非人为的例子会更好.

谢谢.

c longjmp setjmp

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

相当于java finalize方法

在Go中有没有像java finalize这样的方法?如果我有一个类型的结构

    type Foo struct {
        f *os.File
        ....
    }

func (p *Foo) finalize() {
     p.f.close( )           
}
Run Code Online (Sandbox Code Playgroud)

如何确保在对象被垃圾回收时,文件已关闭?

go

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

令牌贴在C中

看完VA_NARG后

我尝试使用宏根据C中的参数数量实现函数重载.现在的问题是:

void hello1(char *s) { ... }
void hello2(char *s, char *t) { ... }
// PP_NARG(...)           macro returns number of arguments :ref to link above
 // does not work
#define hello(...)         hello ## PP_NARG(__VA_ARGS__)  

int main(void)
{
   hello("hi");   // call hello1("hi");
   hello("foo","bar"); // call hello2("foo","bar");
   return 0;
}
Run Code Online (Sandbox Code Playgroud)

我从C-faq那里读到了这个.但仍然无法让它工作......

c c99 stringification c-preprocessor variadic-macros

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

如何在Go中继承

在CI中可以做这样的事情

struct Point {
  int x,y;
}

struct Circle {
  struct Point p;       // must be first!
  int rad;
}

void move(struct Point *p,int dx,int dy) {
    ....
}

struct Circle c = .....;
move( (struct Point*)&c,1,2);
Run Code Online (Sandbox Code Playgroud)

使用这种方法,我可以传递任何具有struct Point作为第一个成员的结构(Circle,Rectangle等).我怎么能在谷歌去做同样的事情?

oop go

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

sqlite教程

有没有关于如何使用Cql的sqlite的好教程/书籍?

c sqlite

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

无法在Plan 9极致中创建文件

我在VirtualBox中运行Plan 9 OS.主机操作系统是Fedora 14.

我跑的时候acme hello.c有一个错误说:

can't open hello.c:'hello.c' file does not exist
Run Code Online (Sandbox Code Playgroud)

我正在关注本指南新手指南.

editor plan-9

4
推荐指数
2
解决办法
1348
查看次数

不同源文件中的结构定义重复

foo.c的

struct foo {
  int a;
};

bar.c

struct foo {
   char *s; 
   double x,y;
};
Run Code Online (Sandbox Code Playgroud)

结构定义仅在.c文件中.根据C标准是合法的吗?标准的哪一部分是这样说的?编辑:没有结构定义的#inclusion.

谢谢大家快速回复!:d

c

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

如何自动生成元类中的属性?

如何使用元类在python中生成属性?我有一些数据记录,哪些字段之间有某些关系。我想将每个记录都作为类型(类)并自动生成这些属性和关系。

我想将此关系指定为数据结构(例如dict),并自动生成具有属性的类

Record 1
        Field        description
       ----------------------------
        numOfPin      no# of following pin array
        pin_array     array with numOfpin elements
        read_result   if opt_flag bit 0 is set, invalid. ignore this value
        opt_flag       ...
Record 2
   ....
Run Code Online (Sandbox Code Playgroud)

编辑:进行澄清。缺少/无效字段和可选标志的属性的逻辑对于所有记录都是相同的。因此,我想在元类中对此进行抽象。

例如在伪python代码中:

record1_spec = { 'numOfpin', ('pin_array','numOfPin'),
                 'opt_flag', ('read_result','opt_flag') }
record2_spec = { 'numOfsite', ('site_array','numOfsite'),
                 'opt_flag', ('test_result','opt_flag') }

class MetaClass:
    getter_generator( ele, opt ):
       if opt : return ele
       else return None

    get class name (eg. record1) then fetch record_spec to create class
    for ele in …
Run Code Online (Sandbox Code Playgroud)

python metaprogramming metaclass python-3.x

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