Windows7 시스템에 cygwin을 설치했고 일부 C++ 코드를 실행하고 있습니다. 이 코드를 실행할 때 :cygwin 콘솔에 오류 또는 오류 메시지가 없습니다.
#include <iostream>
#include <string>
#include <fstream>
#include <time.h>
#include <math.h>
#include "Pop.h"
using namespace std;
int main() {
ifstream in;
ofstream out;
cout << "something";
out.open("res7.txt", ios::out|ios::app);
if (out.is_open())
out << "1\n";
else
cout << "unable to open res7 file";
out.close();
int seed = time(NULL);
out.open("res7.txt", ios::out|ios::app);
if (out.is_open())
out << "2\n";
else
cout << "unable to open res7 file";
out.close();
out.open("res7.txt", ios::out|ios::app);
if (out.is_open())
out << "seed " << seed << '\n';
else
cout << "unable to open res7 file";
out.close();
out.open("res7.txt", ios::out|ios::app);
if (out.is_open())
out << "3\n";
else
cout << "unable to open res7 file";
out.close();
srand (seed);
out.open("res7.txt", ios::out|ios::app);
if (out.is_open())
out << "4\n";
else
cout << "unable to open res7 file";
out.close();
double parameters[4];
int location;
in.open("input7.txt", ios::in);
out.open("res7.txt", ios::out|ios::app);
if (out.is_open())
out << "5\n";
else
cout << "unable to open res7 file";
out.close();
return 0;
}
콘솔에 출력이 표시됩니다 (무언가). 그러나 완전한 코드를 실행할 때 :
#include <iostream>
#include <string>
#include <fstream>
#include <time.h>
#include <math.h>
#include "Pop.h"
using namespace std;
int main() {
ifstream in;
ofstream out;
cout << "something";
out.open("res7.txt", ios::out|ios::app);
if (out.is_open())
out << "1\n";
else
cout << "unable to open res7 file";
out.close();
int seed = time(NULL);
out.open("res7.txt", ios::out|ios::app);
if (out.is_open())
out << "2\n";
else
cout << "unable to open res7 file";
out.close();
out.open("res7.txt", ios::out|ios::app);
if (out.is_open())
out << "seed " << seed << '\n';
else
cout << "unable to open res7 file";
out.close();
out.open("res7.txt", ios::out|ios::app);
if (out.is_open())
out << "3\n";
else
cout << "unable to open res7 file";
out.close();
srand (seed);
out.open("res7.txt", ios::out|ios::app);
if (out.is_open())
out << "4\n";
else
cout << "unable to open res7 file";
out.close();
double parameters[4];
int location;
in.open("input7.txt", ios::in);
out.open("res7.txt", ios::out|ios::app);
if (out.is_open())
out << "5\n";
else
cout << "unable to open res7 file";
out.close();
if (in.is_open()) {
out.open("res7.txt", ios::out|ios::app);
if (out.is_open())
out << "6\n";
else
cout << "unable to open res7 file";
out.close();
char line[256];
while (!in.getline(line, 256).eof()) {
out.open("res7.txt", ios::out|ios::app);
if (out.is_open())
out << "7\n";
else
cout << "unable to open res7 file";
out.close();
char *input = strtok(line, " ");
int i=0;
while (input!=NULL) {
out.open("res7.txt", ios::out|ios::app);
if (out.is_open())
out << "8\n";
else
cout << "unable to open res7 file";
out.close();
parameters[i] = atof(input);
input = strtok(NULL, " ");
i++;
}
int rnum = rand();
location = rnum%10000;
out.open("res7.txt", ios::out|ios::app);
if (out.is_open())
out << "9\n";
else
cout << "unable to open res7 file";
out.close();
Pop p(parameters[0], parameters[1], 0.2, 0.1, parameters[2], location);
out.open("res7.txt", ios::out|ios::app);
if (out.is_open())
out << "10\n";
else
cout << "unable to open res7 file";
out.close();
double L = exp(-parameters[3]);
double FF_mean = p.FF_steady(parameters[3], L, 0.0);
out.open("res7.txt", ios::out|ios::app);
if (out.is_open())
out << "11\n";
else
cout << "unable to open res7 file";
out.close();
out.open("res7.txt", ios::out|ios::app);
if (out.is_open()) {
out << "number of chromosomes is " << p.all_population[0]->ga->chromosome << " alpha is " << parameters[2] << " cost is " << parameters[1];
out << " a is " << parameters[0] << " u is " << parameters[3] << " location is " << location << " FF steady is " << FF_mean << '\n';
}
else
cout << "unable to open res7 file FF";
out.close();
out.open("res7.txt", ios::out|ios::app);
if (out.is_open())
out << "12\n";
else
cout << "unable to open res7 file";
out.close();
if (FF_mean>0.1) {
out.open("res7.txt", ios::out|ios::app);
if (out.is_open())
out << "13\n";
else
cout << "unable to open res7 file";
out.close();
p.insert_O(0.05);
out.open("res7.txt", ios::out|ios::app);
if (out.is_open())
out << "14\n";
else
cout << "unable to open res7 file";
out.close();
double total_mean = p.steady(parameters[3], L, 0.0);
double perc = p.perc_O();
out.open("res7.txt", ios::out|ios::app);
if (out.is_open())
out << "total steady is " << total_mean << " perc O is " << perc << '\n';
else
cout << "unable to open res7 file";
out.close();
}
}
}
else
cout << "Unable to open input7 file\n";
in.close();
return 0;
}
콘솔에 출력이 표시되지 않습니다. 다른 컴퓨터에서 코드를 실행할 때 부동 소수점 예외가 있음을 알았습니다. 나는 그것이 어디 있는지 알 수 있지만, 내가 이해하지 못하는 이유는 cygwin에서 콘솔의 출력이나 오류를 볼 수없는 이유입니다. 누구든지 나를 도울 수 있습니까?
일부 코드를 표시하십시오. –
또한 Cygwin gcc 또는 다른 것을 사용하고 있습니까? – ak2
"cout"은 "res7"파일을 열지 못했을 때만 호출됩니까? 'printf()'가 작동합니까? 'printf()'다음에'cout << "hello \ n";'를 추가해보십시오. (기본적으로 항상 호출됩니다.) – hmjd