|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Sep 2007
Messaggi: 135
|
[c++] eseguibile che su win 7 funziona ma non su win xp
Salve a tutti,
ho compilato un programma che su win 7 (sia 32bit che 64) funziona a meraviglia mentre mi genera il seguente errore in ambiente win xp: ![]() Da cosa può dipendere? Il codice viene inizialmente eseguito e pare bloccarsi poco dopo un ciclo while. Forse ci sono delle DLL o librerie diverse fra xp e win 7? Vi prego di aiutarmi, Grazie anticipatamente a tutti. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Senza uno straccio di codice è impossibile affermare con sicurezza perchè non funziona. Le possibilità sono tante.
|
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Sep 2007
Messaggi: 135
|
Codice:
double p, a, ecc, incl, node, argp, nu, m, arglat, truelon, lonper;
double sec, jd, rad, tsince, startmfe, stopmfe, deltamin;
double tumin, mu, radiusearthkm, xke, j2, j3, j4, j3oj2;
int year; int mon; int day; int hr; int min;
Codice:
while (feof(infile) == 0)
{
do
{
....
} while ((strcmp(str, "#")==0)&&(feof(infile) == 0));
if (feof(infile) == 0)
{
fgets( longstr2,130,infile);
twoline2rv( longstr1, longstr2, typerun, typeinput, opsmode, whichconst,
startmfe, stopmfe, deltamin, satrec );
// fprintf(outfile, "%ld xx\n", satrec.satnum);
printf(" %ld\n", satrec.satnum);
Codice:
tsince = ((jd_r-satrec.jdsatepoch)*1440); Ultima modifica di Rizzolo : 05-05-2010 alle 01:13. |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
jd_r e satrec.jdsatepoch (e satrec) che tipi sono?
Mi sembra difficile che sia quella la riga che causa il problema. Hai provato in debug? Il programma mi sembra scritto in C più che in C++, quindi suppongo che la gestione delle eccezioni non ci sia. Probabilmente sfori qualche buffer, solo che nel codice che hai postato ci sono solo variabili numeriche e a meno di non dividere per 0 mi sembra difficile ottenere un errore tale da far crashare il programma. |
|
|
|
|
|
#5 |
|
Member
Iscritto dal: Jul 2008
Messaggi: 237
|
MingW è, risaputamente, tutt'altro che il meglio che puoi usare per compilare su Windows. Se ti è possibile ti consiglio di usare l'ultimo compilatore microsoft o intel. Il problema potrebbe infatti dipendere da un'implementazione buggata in MingW per qualche funzione di libreria.
Ad ogni modo non capisco il perché della segretezza del nome del programma etc quando il codice proviene chiaramente da questo articolo (Revisiting Spacetrack Report #3) |
|
|
|
|
|
#6 |
|
Member
Iscritto dal: Sep 2007
Messaggi: 135
|
Avevo provato con visual c++ ma non mi ci sono trovato per niente bene, invece con wxDev c++ non ho avuto problemi.
Ho trovato l'errore che consisteva in un fclose posizionato troppo presto. Quali sono i compilatori intel? Mi sono affacciato su questo campo per esigenza da poco più di una settimana. Sì le librerie sono quelle del SGP4 che hai riportato ma questo non vuol dire che io non le abbia drasticamente modificate ed ampliate per il mio scopo. L'esperienza in altri ambiti mi ha insegnato che è sempre meglio tenersi le cose per sé (già avuto a che fare con diaspore di codice utilizzate da terzi e spacciate per proprie Ultima modifica di Rizzolo : 05-05-2010 alle 13:11. |
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
|
|
|
|
|
|
|
#8 | |
|
Member
Iscritto dal: Jul 2008
Messaggi: 237
|
Quote:
A parte questo il compilatore intel C/C++ ha tutto quel che serve e funziona perfettamente su windows (oltre a integrarsi decentemente con visual studio) |
|
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
Io sinceramente ho usato molto spesso MinGW su Windows e non mai avuto problemi. Certo non mi metto ad usarlo per programmare intensivamente con le API di Windows. Rizzolo: l'unico consiglio che ti posso dare è buttare wxDevC++, quello che sì che crea problemi. Usa una nightly build di Code::Blocks... Come compilatore, scaricati l'ultima versione di MinGW GCC dal relativo sito. Ultima modifica di cionci : 06-05-2010 alle 08:30. |
|
|
|
|
|
|
#11 | |
|
Member
Iscritto dal: Jul 2008
Messaggi: 237
|
Quote:
Il compilatore Intel fa, tra le altre, delle ottimizzazioni molto specifiche per l'implementazione delle sue CPU (in maniera tale, ad esempio, da ottimizzare l'uso della cache e minimizzare i miss) e quindi, nonostante la validità generica di certe ottimizzazioni quali loop unrolling e parallelizzazione automatica, molto del lavoro sarebbe comunque inutile agli utenti AMD. Quanto a MingW mi pare che abbia ancora lo stupido passaggio di parametri con MOV. Non si capisce perché non abbiano ancora imparato che esiste push e che push è molto più efficiente rispetto a MOV nei processori odierni...usare MOV per i parametri è come usare MOV EAX, 0 invece che XOR EAX, EAX. Puro delirio... |
|
|
|
|
|
|
#12 | ||
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
Invece passare i parametri con MOV è molto più efficiente che usare lo stack nei processori moderni. Quote:
|
||
|
|
|
|
|
#13 | |
|
Member
Iscritto dal: Sep 2007
Messaggi: 135
|
Quote:
![]() Che mi consigli di utilizzare fra queste opzioni? Ultima modifica di Rizzolo : 06-05-2010 alle 18:55. |
|
|
|
|
|
|
#14 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Devi scaricare anche mingw gcc ed installarlo: http://sourceforge.net/projects/ming...6.exe/download
Comunque ti avevo detto di installare una nightly build: http://forums.codeblocks.org/index.p...ic,3232.0.html Questa ad esempio: http://forums.codeblocks.org/index.p...c,10406.0.html Ultima modifica di cionci : 06-05-2010 alle 19:08. |
|
|
|
|
|
#15 |
|
Senior Member
Iscritto dal: Nov 2002
Messaggi: 6523
|
Se non ricordo male la versione non Professional di ICC non è a pagamento. Io l'ho installata senza problemi. Su Linux però.
|
|
|
|
|
|
#16 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 10:16.





















