小编dub*_*nde的帖子

在void C/C++例程结束时添加return语句有什么意义?

我看到签名中带有void返回的函数/方法在函数末尾有一个return语句.这是什么原因,这是否适用于其他语言?

据我所知,如果我想退出函数的末尾,我可以使用return.

AC示例:

void function(void)
{
   int x = 1 + 2;

   return;    // what do we need this for, if at all?
}
Run Code Online (Sandbox Code Playgroud)

c c++

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

ARM9上使用C的未对齐内存访问异常的解决方法是什么?

架构ARM9.编程语言C.

我们有一个第三方堆栈,其中一个调用将一个指针(pBuffer)带到一个内存位置.在堆栈中,它们可以自由地移动指针传递并按照自己的意愿访问它.不幸的是,它们偏移了传入的指针并将其传递给另一个试图从奇数/未计数内存位置执行此操作的函数

         ((uint16 *)pBuffer)[index] = value;
Run Code Online (Sandbox Code Playgroud)

where value是类型,uint16index检查边界和索引pBuffer.这会导致未对齐的内存访问异常.pBuffer指向char *堆上.

如上所述,即使我们可以查看第三方堆栈,我们也无法正式更新代码.因此,我们通知提供商,他们在下一版本中提供更新.

我想知道是否有解决方法.如何在不违反未对齐访问的情况下执行上述分配?解决此类问题的最佳方法是什么?

c c++ embedded arm

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

"POR"在嵌入式开发中意味着什么?

我们有一个第三方设备正在尝试集成到我们的系统中,我们的代码应该做的一件事就是通过断言复位引脚来启动硬件复位.其中一份文件提到在POR结束前释放销钉.我有点谷歌给了我这个,但我只想确认并理解我是否在正确的页面上.

c c++ embedded arm

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

在C本地范围内使用static关键字来运行

这两个有什么不同吗?如果是这样,究竟有什么区别?假设它们处于可以被多次调用的C函数中.

  1. 在同一声明中声明和分配

    static uint32_t value = x; // x varies and may be passed into function.

  2. 在一个陈述中声明并在下一个陈述中指定.

    static uint32_t value;

    value = x; // x varies;

难道value只更新其声明/初始化或者甚至在后续调用的第一次.

我对(1)的理解是它只是第一次执行该行,所以即使x下次执行该行时更改,value也将保持不变.我不确定(2)但对两者的澄清将非常有帮助

编辑:编译器ARM(ADS1.20).编辑:关于(2)从目前为止给出的答案的后续问题.是在每次通话还是第一次重复声明(不是作业)?

c static

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

是否可以在C++虚拟(纯)类成员中提供异常?

如果是这样的话?

我知道如何为成员提供例外规范

class SOMEClass
{
public:


   void method(void)  throw (SOMEException); 

   virtual void pure_method(void) = 0;
};
Run Code Online (Sandbox Code Playgroud)

所以method只有投掷SOMEException.如果我要确保该子类SOMEClassSOMEExceptionpure_method,是不是可以添加例外规范?这种方法是可行的还是我需要更多地了解异常和抽象方法,以找出它可以(不)完成的原因?

c++ exception-specification

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

标签 统计

c ×4

c++ ×4

arm ×2

embedded ×2

exception-specification ×1

static ×1