小编use*_*392的帖子

C检查标准库中的错误(ret <0 vs ret == -1)

我经常看到代码通过测试小于零而不是显式定义来检查来自POSIX函数的错误,并且通常只使用错误代码-1.那是

ret = function();
if (ret < 0) {
    ...
}
Run Code Online (Sandbox Code Playgroud)

VS

ret = function();
if (ret == -1) {
    ...
}
Run Code Online (Sandbox Code Playgroud)

第一次练习有什么目的吗?在某些体系结构上比0与-1比较的速度要快吗?如果现在定义的唯一错误代码是-1,C或POSIX标准是否可以保证第一个替代方案将来不会中断?如果没有,是否应该被视为不良做法?(我想大多数函数不太可能以这种方式改变,导致很多已编写的代码破坏?).

编辑:使问题更清楚:我只谈论专门返回-1的函数作为标准定义的错误代码.我知道有一些没有.我在很多地方看到了<0检查这些函数而不是== -1.因此问题.

c posix

11
推荐指数
2
解决办法
621
查看次数

在perl中加入间隔

首先让我举个例子:

我有一组间隔像

[1,4],[5,15],[16,20]
Run Code Online (Sandbox Code Playgroud)

而另一个喜欢

[2,3],[6,14]
Run Code Online (Sandbox Code Playgroud)

我希望它成为一组像

[1,2],[3,4],[5,6],[7,15],[16,20]
Run Code Online (Sandbox Code Playgroud)

我不确定这个操作是什么,如果标题有误导性,请忘记我.是否有我可以使用的CPAN模块,或者更好地提出我自己的解决方案?有一个众所周知的算法吗?

perl intervals

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

标签 统计

c ×1

intervals ×1

perl ×1

posix ×1