小编Mar*_*rco的帖子

信号处理程序中的非重入函数?

考虑一个调用exit()作为最后一条指令的信号处理程序:在该处理程序中调用非重入函数(例如free())是否安全?

恕我直言,这是合法的,因为处理程序没有返回到正常的执行顺序.

先感谢您.

signals handler

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

结构接口

定义new时struct更好的是定义该类型的接口
(即"setter"和"getter"函数)或直接通过.->运算符访问成员?

编辑
普通C编程

c struct

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

如何将size_t和pid_t与int进行比较

使用逻辑运算符size_tpid_t类型的正确方法是什么?我的意思是:写下面的东西是合法的吗?
例如:

size_t sz;  
/* some kind of assignment */  
if(sz > 0){  
  /* do something */  
}  
Run Code Online (Sandbox Code Playgroud)

例如:

void f(pid_t pid,...){  
  if(pid > 0){  
    /* do something */  
  }  
  /* ... */  
}
Run Code Online (Sandbox Code Playgroud)

..或者我必须做一些演员?

编辑
好的答案;
现在,考虑到被告知,有人可以给我一个编码的理由:

void *my_malloc(size_t size){
  if(size <= 0){
    return NULL;
  }
  /* something else... */
}  
Run Code Online (Sandbox Code Playgroud)

我的老师写了那段代码.
是否有意义?
我不知道为size_t类型保留了多少位(它依赖于实现)
但肯定是无符号(你的答案),为什么上面的表达式?

c

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

标签 统计

c ×2

handler ×1

signals ×1

struct ×1