相关疑难解决方法(0)

如果使用else子句构造,则终止if有什么好处?

我们的组织有一个必要的编码规则(没有任何解释):

if ... else如果构造应该用else子句终止

例1:

if ( x < 0 )
{
   x = 0;
} /* else not needed */
Run Code Online (Sandbox Code Playgroud)

例2:

if ( x < 0 )
{
    x = 0;
}
else if ( y < 0 )
{
    x = 3;
}
else    /* this else clause is required, even if the */
{       /* programmer expects this will never be reached */
        /* no change in value of x */
}
Run Code Online (Sandbox Code Playgroud)

这个设计要处理的边缘情况是什么?

关于其原因的另一个问题是,示例1 …

c misra

133
推荐指数
8
解决办法
1万
查看次数

为什么不建议在空间/辐射环境中使用C ++模板?

通过阅读此问题,例如,我理解了为什么在空间或核电站等辐射较高的环境中不建议动态分配或例外的原因。关于模板,我不知道为什么。你能给我解释一下吗?

考虑到这个答案,它说使用起来很安全。

注意:我不是在谈论复杂的标准库内容,而是针对性的自定义模板。

c++ embedded templates fault-tolerance

64
推荐指数
2
解决办法
7950
查看次数

具有Core 2 CPU(SSSE3)的大缓冲区的popcount

我正在寻找在512或更多字节的大缓冲区上popcount的最快方法.我可以保证任何所需的对齐,缓冲区大小总是2的幂.缓冲区对应于块分配,因此通常位是全部设置,没有设置,或者大多数设置有利于缓冲区的"左",偶尔出洞.

我考虑过的一些解决方案是:

我对最快的解决方案感兴趣,它必须适用于属于core2或更近的32位x86芯片组.SSE和SIMD非常感兴趣.我将在以下四核CPU上进行测试:

matt@stanley:~/anacrolix/public/stackoverflow$ cat /proc/cpuinfo 
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 15
model name      : Intel(R) Core(TM)2 Quad CPU    Q6600  @ 2.40GHz
stepping        : 11
cpu MHz         : 1600.000
cache size      : 4096 KB
physical id     : 0
siblings        : 4
core id         : 0
cpu cores       : 4
apicid          : 0
initial apicid  : 0
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : …
Run Code Online (Sandbox Code Playgroud)

c optimization x86 assembly hammingweight

12
推荐指数
2
解决办法
8386
查看次数

CPU会犯错误吗?

想象一下,一台普通计算机不间断地密集工作 5 年。CPU 始终以 100% 的速度工作,并不断读取和写入内存。计算机真的不会犯一个错误吗?

architecture memory cpu reliability

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

MISRA-C个人使用程序的编码指南?

我通常是木材工人,而不是开发商。我正在学习用于嵌入式系统的C / C ++,同时尝试使我的某些工具具有自治性,从而节省了我的重复工作时间。

就目前而言,它的乐趣和进展顺利,我可能已经花了一百个小时进行编码/学习,并且已经节省了更多时间*。

我想继续前进,购买和遵循MISRA编码规则是“强制性好主意”吗?MISRA包含什么?仅编码规则,还是使它更安全的提示?

这些工具可能很危险(毕竟它们会砍柴,而人体的抵抗力要差得多……)。

注意:我显然分四个步骤进行测试:

  1. 只需运行OSD和SD卡记录器的图片即可(有一天,我将使用Anylze工具,并停止阅读它们)。

  2. 我没有插入任何工具

  3. 我在泡沫上使用软钻/刀具

  4. 我用手按紧急停止按钮在远处进行真实测试。

另外,我是唯一的员工,没有人可以访问我的工作场所。

*目前,我已经将钻头变成了一种3D木材打印机(完成了工作中不精确的部分),并将“切纸板”变成了自动化的打印机。

注意2:我不是母语人士,因此工具名称可能不正确。

c embedded misra

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