我正在尝试使用Cygwin在C ++中编译以下问题(downloads.cpp):
#include <fstream>
#include <algorithm>
#include <cstdio>
#include <climits>
using namespace std;
int main() {
int N, ft = 0, bw = 0;
ifstream input;
input.open("downloads.in");
input >> N;
pair <int, int> S_T[N+1];
S_T[N+1].first = INT_MAX;
S_T[N+1].second = INT_MAX;
int FT[N];
fill(FT, FT + sizeof(FT), 0);
for (int i = 0; i < N; ++i) {
input >> S_T[i].first >> S_T[i].second;
}
input.close();
sort(S_T, S_T + N);
for (int i = 0; i < N; ++i)
{
if (S_T[i+1].second != 0) {
for (int j = i+1; j < N; ++j) {
S_T[j].second -= S_T[i].second;
}
S_T[i+1].first += S_T[i].first;
S_T[i+1].second *= S_T[i-1].second / S_T[i].second;
} else if (S_T[i+1].first != INT_MAX && S_T[i+1].second != INT_MAX) {
S_T[i+1].first += S_T[i].first;
S_T[i+1].second *= S_T[i-1].second / S_T[i].second;
}
FT[i] = S_T[i].second;
}
for (int i = 0; i < N; ++i)
ft += FT[i];
ofstream output;
output.open("downloads.out");
output << ft << endl;
output.close();
return 0;
}
我收到以下错误(在&#34之后有不同的5位数字;下载&#34;)
0 [main] downloads 76188 cygwin_exception::open_stackdumpfile: Dumping stack trace to downloads.exe.stackdump
[Finished in 6.5s]
此外,该程序需要比通常的一秒钟更长的时间来编译,并且Cygwin似乎在同一文件中创建一个与我的程序同名的.exe.stackdump文件。
我已经检查过Cygwin打开后台进程,但没有找到。任何人都知道为什么会发生这种情况?