我是一个真正的 C++ 菜鸟,所以请耐心等待。
我有一个简单的程序。当我编译它g++ -Wall prog.cpp -o prog
然后用它运行它时,./prog
它只是段错误。
经过一番修修补补,我写了一个makefile(见下文)。如果我运行make test
,程序编译并运行良好。如果我用 运行它./prog
,它会出现段错误。(确切的错误信息是Segmentation fault (core dumped)
)
谁能解释为什么?
这是程序:
#include <iostream>
#include <stdlib.h>
#include <stdio.h>
#include <sys/time.h>
int main() {
srand(time(NULL));
//int i, j, k, i2, j2, k2;
int N = 1000;
double mul1[N][N];
double mul2[N][N];
double res[N][N];
printf("N: %d\n", N);
for(int x=0; x<N; x++) {
for(int y=0; y<N; y++) {
mul1[x][y] = rand() % 100;
mul2[x][y] = rand() % 100;
res[x][y] = 0;
}
}
return 0;
}
这是生成文件:
all: prog
prog: prog.cpp
$(CXX) -Wall -g -o $@ prog.cpp
test: prog
./prog
clean:
rm -f prog