Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato
Nuova frontiera per i robot tagliaerba, con Ecovacs GOAT O1200 LiDAR Pro che riconosce l'ambiente in maniera perfetta, grazie a due sensori LiDAR, e dopo la falciatura può anche rifinire il bordo con il tagliabordi a filo integrato
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere?
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere?
Equilibrio e potenza definiscono il Samsung Galaxy S26+, un flagship che sfida la variante Ultra e la fascia alta del mercato con il primo processore mobile a 2nm. Pur mantenendo l'hardware fotografico precedente, lo smartphone brilla per un display QHD+ da 6,7 pollici d'eccellenza, privo però del trattamento antiriflesso dell'Ultra, e per prestazioni molto elevate. Completano il quadro la ricarica wireless a 20W e, soprattutto, un supporto software settennale
Zeekr X e 7X provate: prezzi, autonomia fino a 615 km e ricarica in 13 minuti
Zeekr X e 7X provate: prezzi, autonomia fino a 615 km e ricarica in 13 minuti
Zeekr sbarca ufficialmente in Italia con tre modelli elettrici premium, X, 7X e 001, distribuiti da Jameel Motors su una rete di 52 punti vendita già attivi. La Zeekr X parte da 39.900 euro, la 7X da 54.100: piattaforma a 800V, chip Snapdragon di ultima generazione, ricarica ultraveloce e un'autonomia dichiarata fino a 615 km WLTP. Le prime consegne sono previste a metà aprile
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 04-05-2010, 09:59   #1
Rizzolo
Member
 
L'Avatar di Rizzolo
 
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.
Rizzolo è offline   Rispondi citando il messaggio o parte di esso
Old 04-05-2010, 10:39   #2
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Senza uno straccio di codice è impossibile affermare con sicurezza perchè non funziona. Le possibilità sono tante.
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 05-05-2010, 00:10   #3
Rizzolo
Member
 
L'Avatar di Rizzolo
 
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);
Fin qui il codice regge, dalla riga sotto in poi crasha

Codice:
                tsince = ((jd_r-satrec.jdsatepoch)*1440);

Ultima modifica di Rizzolo : 05-05-2010 alle 00:13.
Rizzolo è offline   Rispondi citando il messaggio o parte di esso
Old 05-05-2010, 07:50   #4
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da Rizzolo Guarda i messaggi
Codice:
                tsince = ((jd_r-satrec.jdsatepoch)*1440);
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.
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 05-05-2010, 09:09   #5
!k-0t1c!
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)
!k-0t1c! è offline   Rispondi citando il messaggio o parte di esso
Old 05-05-2010, 12:07   #6
Rizzolo
Member
 
L'Avatar di Rizzolo
 
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 12:11.
Rizzolo è offline   Rispondi citando il messaggio o parte di esso
Old 05-05-2010, 15:01   #7
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da !k-0t1c! Guarda i messaggi
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.
Oddio, è un'affermazione un po' forte.... Per C è sicuramente meglio del compilatore Microsoft, che è rimasto eoni indietro con il supporto allo standard.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 05-05-2010, 20:55   #8
!k-0t1c!
Member
 
Iscritto dal: Jul 2008
Messaggi: 237
Quote:
Originariamente inviato da cionci Guarda i messaggi
Oddio, è un'affermazione un po' forte.... Per C è sicuramente meglio del compilatore Microsoft, che è rimasto eoni indietro con il supporto allo standard.
Vero, ma se quel che serve è un'implementazione solida per un programma più vicino al C89 che al C99 allora il compilatore MSFT va bene.
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) C'è sempre l'alternativa...
!k-0t1c! è offline   Rispondi citando il messaggio o parte di esso
Old 06-05-2010, 07:27   #9
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da !k-0t1c! Guarda i messaggi
Vero, ma se quel che serve è un'implementazione solida per un programma più vicino al C89 che al C99 allora il compilatore MSFT va bene.
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) C'è sempre l'alternativa...
Peccato che sia a pagamento
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 07:30.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 06-05-2010, 08:53   #10
Tommo
Senior Member
 
L'Avatar di Tommo
 
Iscritto dal: Feb 2006
Messaggi: 1304
E poi si dice che l'ICC non faccia alcuna ottimizzazione (anzi) su piattaforma AMD con risultati abbastanza deludenti...
__________________
*ToMmO*

devlog | twitter
Tommo è offline   Rispondi citando il messaggio o parte di esso
Old 06-05-2010, 09:05   #11
!k-0t1c!
Member
 
Iscritto dal: Jul 2008
Messaggi: 237
Quote:
Originariamente inviato da Tommo Guarda i messaggi
E poi si dice che l'ICC non faccia alcuna ottimizzazione (anzi) su piattaforma AMD con risultati abbastanza deludenti...
L'ICC testa usando cpuid il processore in uso e a seconda degli switch dati per compilare si comporta così:
  • Richiede processore Intel con caratteristiche date minime (a scelta in fase di compilazione) e se non è presente esce dal programma con un messaggio di errore.
  • Se la CPU non è conforme al minimo specificato in fase di compilazione procede all'esecuzione di una versione non ottimizzata del codice.

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...
!k-0t1c! è offline   Rispondi citando il messaggio o parte di esso
Old 06-05-2010, 09:16   #12
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da !k-0t1c! Guarda i messaggi
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...
No, il passaggio dei parametri con MOV c'è solo su X86-64 e sono le specifiche di programmazione a richiederlo.
Invece passare i parametri con MOV è molto più efficiente che usare lo stack nei processori moderni.
Quote:
Originariamente inviato da !k-0t1c! Guarda i messaggi
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.
Strano, allora perché patchando gli eseguibili per saltare il CPU dispatch gli eseguibili sui processori AMD vanno più veloci ?
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 06-05-2010, 17:48   #13
Rizzolo
Member
 
L'Avatar di Rizzolo
 
Iscritto dal: Sep 2007
Messaggi: 135
Quote:
Originariamente inviato da cionci Guarda i messaggi
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.
Fantastico e io che pensavo fosse buono, adesso sto scaricando "codeblocks-8.02mingw-setup.exe"; a vedere dagli screen sembra molto simile, vediamo come va.



Che mi consigli di utilizzare fra queste opzioni?

Ultima modifica di Rizzolo : 06-05-2010 alle 17:55.
Rizzolo è offline   Rispondi citando il messaggio o parte di esso
Old 06-05-2010, 18:06   #14
cionci
Senior Member
 
L'Avatar di cionci
 
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 18:08.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 09-05-2010, 09:29   #15
Unrue
Senior Member
 
L'Avatar di Unrue
 
Iscritto dal: Nov 2002
Messaggi: 6851
Se non ricordo male la versione non Professional di ICC non è a pagamento. Io l'ho installata senza problemi. Su Linux però.
Unrue è offline   Rispondi citando il messaggio o parte di esso
Old 09-05-2010, 10:18   #16
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da Unrue Guarda i messaggi
Se non ricordo male la versione non Professional di ICC non è a pagamento. Io l'ho installata senza problemi. Su Linux però.
Solo su Linux ed è utilizzabile solo per uso personale
cionci è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato Ecovacs Goat O1200 LiDAR Pro: la prova del robot...
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere? Recensione Samsung Galaxy S26+: sfida l'Ultra, m...
Zeekr X e 7X provate: prezzi, autonomia fino a 615 km e ricarica in 13 minuti Zeekr X e 7X provate: prezzi, autonomia fino a 6...
Marathon: arriva il Fortnite hardcore Marathon: arriva il Fortnite hardcore
HP Imagine 2026: abbiamo visto HP IQ all’opera, ecco cosa può (e non può) fare HP Imagine 2026: abbiamo visto HP IQ all’opera, ...
Le 10 migliori offerte Amazon di Pasqua:...
Nuove fotografie dagli astronauti di Art...
La toilette della capsula Orion Integrit...
GeForce NOW: ecco tutte le novità in arr...
Il Realme 16 5G debutta sul mercato glob...
HONOR svela tre nuovi tablet: il più int...
Tineco Floor One S9 Master: aspira e pul...
Vivo X300 Ultra, il lancio globale è ini...
Offerte robot aspirapolvere Amazon: ECOV...
L'AI genera codice in 8 minuti e i senio...
Ring Intercom Audio a 44,99€ su Amazon: ...
Apple iPhone 16 crolla a 689€: ecco perc...
Google Pixel 9 a 449,90€ con caricatore ...
Ecco la top 7 delle offerte Amazon, aggi...
Ex ingegnere ammette il sabotaggio: migl...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 16:24.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v