Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione POCO F9 pro: potenza da vero top di gamma, display da 185 Hz e finalmente una fotocamera da prendere sul serio
Recensione POCO F9 pro: potenza da vero top di gamma, display da 185 Hz e finalmente una fotocamera da prendere sul serio
POCO F9 Pro arriva sul mercato con l'obiettivo di portare prestazioni da smartphone top di gamma in una fascia di prezzo "più aggressiva", senza rinunciare a un comparto fotografico finalmente all'altezza. Dopo averlo testato sul campo, emerge uno smartphone molto più completo rispetto alla generazione precedente, ma anche con alcuni piccoli compromessi che diventano difficili da ignorare quando il prezzo di listino sfiora i 1.000 euro.
Tra audio e AI: la ricetta di Qualcomm per l'agentic AI
Tra audio e AI: la ricetta di Qualcomm per l'agentic AI
Snapdragon Soung Gen 2 è la piattaforma Qualcomm per i dispositivi audio sempre più integrati nel mondo dell'intelligenza artificiale: al prorpio interno tanta potenza elaborativa per gestire al meglio le necessità d'uso dell'agentic AI
Qualcomm annuncia la nuova generazione di SoC Snapdragon 8 Elite Gen 6
Qualcomm annuncia la nuova generazione di SoC Snapdragon 8 Elite Gen 6
In occasione del proprio Snapdragon Summit Qualcomm annuncia i due nuovi chip per dispositivi mobile di fascia alta che entreranno nel mercato nel corso del 2027: tanta potenza a disposizione per elaborazioni di intelligenza artificiale sempre più complesse
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: 7411
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


Recensione POCO F9 pro: potenza da vero top di gamma, display da 185 Hz e finalmente una fotocamera da prendere sul serio Recensione POCO F9 pro: potenza da vero top di g...
Tra audio e AI: la ricetta di Qualcomm per l'agentic AI Tra audio e AI: la ricetta di Qualcomm per l'age...
Qualcomm annuncia la nuova generazione di SoC Snapdragon 8 Elite Gen 6 Qualcomm annuncia la nuova generazione di SoC Sn...
realme 16 Pro Harry Potter Edition: il nuovo midrange ha uno stemma di Hogwarts che cambia colore al sole! realme 16 Pro Harry Potter Edition: il nuovo mid...
Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce Recensione REDMI Note 17 Pro: il midrange con ba...
Opera: la VPN gratuita si accende in aut...
Giochi capaci di costruirsi in tempo rea...
Giochi DX11 su Intel Arc e Proton: le ot...
Bentley Torcal ufficiale: 876cv e ricari...
Counter-Strike 2: con poche modifiche, V...
Silent Hill potrebbe tornare al cinema c...
L'integrazione di ChatGPT su Siri è stat...
ASML: 'Non vendiamo assolutamente nulla ...
Anthropic limita Claude Opus 5.5 nello s...
Microsoft 365, l'Antitrust respinge le p...
SAP NOW AI Tour Milan: una giornata con ...
Quake Champions dice addio al free-to-pl...
Anker AeroClip 2, li indossi e dopo un p...
Notebook ASUS da gaming per il Back to S...
Auto elettriche UE al 21,7%: sorpasso si...
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: 21:36.


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