相关疑难解决方法(0)

有哪些开源C++静态分析工具?

Java有一些非常好的开源静态分析工具,如FindBugs,CheckstylePMD.这些工具易于使用,非常有用,可在多个操作系统上运行并且免费.

可以使用商业C++静态分析产品.虽然拥有这样的产品很棒,但是学生的成本太高,而且通常很难获得试用版.

另一种方法是找到可在多个平台(Windows和Unix)上运行的开源C++静态分析工具.通过使用开源工具,可以对其进行修改以满足特定需求.寻找工具并非易事.

下面是其他人发现或建议的C++静态分析工具的简短列表.

什么是其他任何人都知道并可以推荐的便携式开源C++静态分析工具?

一些相关链接.

c++ static-analysis coding-style

298
推荐指数
8
解决办法
9万
查看次数

如何确定最大堆栈使用量?

有哪些方法可用于确定嵌入式/内存受限系统的最佳堆栈大小?如果它太大那么浪费的内存可以在其他地方使用.但是,如果它太小,那么我们得到这个网站的同名......

为了尝试快速启动:Jack Ganssle在"嵌入式系统设计的艺术"中指出,"凭借经验,人们可以学习标准的,科学的方法来计算堆栈的正确尺寸:随机选择尺寸并希望." 任何人都可以做得更好吗?

要求提供更具体的例子.那么,在没有操作系统的情况下使用IAR Embedded Workbench工具链,针对具有2 kB RAM 的MSP430 MCU的C程序怎么样?使用JTAG调试器时,此IDE可以显示堆栈内容和使用情况.

memory embedded stack code-analysis

42
推荐指数
3
解决办法
3万
查看次数

如何在ac/c ++程序中检测可能/潜在的堆栈溢出问题?

有没有一种标准的方法来查看您的应用程序有多少堆栈空间以及运行期间堆栈使用的最高水印?

另外在可怕的情况下实际溢出会发生什么?

它会崩溃,触发异常还是发出信号?是否有标准或在所有系统和编译器上有所不同?

我正在寻找专门针对Windows,Linux和Macintosh的.

c c++ memory stack overflow

41
推荐指数
5
解决办法
3万
查看次数

是否可以确定堆栈上有多少可用空间?

我正在构建一个小型软件引擎,我想使用堆栈来快速迭代大量集合.但后来我发现这可能是一个坏主意,因为堆栈不像堆那么大的内存存储.但我被堆栈的速度和缺乏动态分配编码实践所吸引.

有没有办法找出我可以在给定平台上推送堆栈的程度?我主要关注移动设备,但问题可能出现在任何平台上.

c++

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

是否有一种程序化的方法来检查堆栈损坏

我正在使用多线程嵌入式应用程序.每个线程根据其功能分配堆栈大小.最近我们发现其中一个线程通过定义一个超过堆栈大小的局部变量数组来破坏堆栈.操作系统是uItron.

我的解决方案,我注册了一个10 mS的计时器,这个计时器将检查堆栈损坏.

堆栈损坏检查方法,1.用一些独特的模式初始化堆栈内存(我使用0x5A5A5A5A)2.从时间检查堆栈内存的顶部是否仍为0x5A5A5A5A

我的问题,

有没有更好的方法来检查这种类型的腐败

忘记添加,立即添加:操作系统:Itron,处理器:ARM9.编译器:不是GCC(特定于ARM9由处理器供应商提供)......并且没有内置支持堆栈检查......

c embedded stack multithreading itron

9
推荐指数
3
解决办法
8140
查看次数

如何创建无限递归会抛出堆栈溢出异常?

我正在尝试使用以下程序创建堆栈溢出运行时异常:

void f(int a) {
  cout << a << ", ";
  f(++a);
}

int main () {
  f(0);
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

当我运行此程序时,我的计算机运行大约261824 call stack然后command terminated发生运行时错误.现在我想知道:

  1. 这是堆栈溢出的一个很好的例子吗?如果是,为什么command terminated会出现错误?
  2. 我怎么能try,catch堆栈溢出异常?
  3. 我有很多自由记忆; 为什么我的堆栈不会占用我所有的记忆?
  4. 如何确定堆栈的大小与我的对应call stack

c++ stack-overflow stack callstack exception

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