你能想到在C++中退出函数时出现分段错误的可能原因吗?我的意思是,我在C++程序中有一个可重复的分段错误,当我使用GDB进行调查时,我说
Program received signal SIGSEGV, Segmentation fault.
FooBar (bla=...) at foo.cpp:59
59 }
其中指示的行包含我的函数的结束括号。
我正在编写一个Qt应用程序来编译和运行C++文件。我不知道如何在进程启动后检查运行时错误,如分段错误。我尝试使用error()信号来报告运行时错误,但它没有显示任何关于分段错误的信息。
//connected to error() signal
void Tester::onError(QProcess::ProcessError e)
{
switch(e) {
case QProcess::Crashed:
case QProcess::WriteError:
case QProcess::ReadError:
case QProcess::Unkn
我试图为Xlib库创建一个包装类,但是我得到了一个分段错误!我是C++的新手,这可能超出了我的能力范围,可能我的目标设定得很高,除了这个问题,有人能告诉我为什么我会遇到这个分段错误吗?
我相信这是我得到的回溯痕迹:
Program received signal SIGSEGV, Segmentation fault.
In XMapWindow () (/usr/lib/libX11.so.6)
At /home/elliot/Programming/C and C++/XWindows/src/MyWindow.cpp:49
我正在尝试将Cython类嵌入到C++类中。考虑到项目的约束,不可能为这个C++类创建一个Cython包装器。而且,由于Cython类中的方法数量和Cython类的长期继承,将该方法从类中完全删除并不是一个吸引人的解决方案。对于我来说,创建一个Cython类实例并从C++调用它的方法是必要的。然而,我似乎不能使它不是分段错误。下面是这个问题的一个例子:
<<<文件: fooClass.pyx >>>
from math import sin
cdef public class Foo[object Foo, type fooType]:
cdef d
我在这个程序中出现了zsh:分段错误,我不知道为什么。如何在没有这个错误的情况下运行这个程序。
#include<stdio.h>
int main()
{
int old[9]={'3','5','7','8','8','6','2','3','5'};
int new[3][3], r, c, n;
for (r=0;r<3;r++){
for (c=0;c<3;c++){
#include<stdio.h>
int recursive(int f,int g){
static int a;;
static int b;
int c = 100;
a = f;
b = g;
if(c != 105){
a++;
b++;
c++;
recursive(a,b);
}
printf("\n a : %d b : %d \n",a,b);
return 0;
}
int main(){
i
当我从c++的派生类调用基类构造函数时,我得到了一个分段错误。我正在使用下面的代码。 #include <iostream>
using namespace std;
class A {
protected:
int x;
public:
A()
{
x = 10;
cout << "value of X in A is" << x << "\n";
}
};
class B : A {
private:
int z;
public:
我正在尝试修复在运行C++程序时发生的分段错误,该错误是由于我调用的结构太大而导致的。我正在寻找一种方法来使用我预先存在的C++结构,并将其从堆栈移动到堆。
我的代码如下所示:
n = 300;
struct arrayStruct {
double arr[n][n];
};
int main(int argc, char *argv[]){
arrayStruct temperature;
// do a bunch of stuff including passing and receiving the arrayStruct within a few fu
我使用JNA在用C++编写的动态库中调用一个函数。我注意到,当从多个线程调用库中的C++函数时,会发生分段错误。
我的问题是如何通过JNA在并行C++中调用函数,而不存在分段错误。在我的C++代码中,没有引用任何外部数据,所以我相信并行执行C++函数是可能的。
我确信多线程是分割错误的原因,因为使方法同步可以抑制问题。换句话说。换句话说,我知道添加一个synchronize或使用Native.synchronizedLibrary()可以通过串行方式执行C函数来解决分割错误。但是,由于性能问题,我希望并行运行C++函数。
public static interface MyCLibrary e