Log in

View Full Version : C'e' qualche pro di c con compilatore lcc?



adigirolam
20th February 2008, 19:20
Ho un amico in procinto tesi che ha bisogno di aiuto, vi rigiro le sue domande:

1) che significa il codice di errore -1073741819
[non so perche' dovreste saperlo, ma tentar non nuoce e poi prendetevela con lui]

2) lcc ha dei limiti nel numero di variabili che può trattare?

3) perchè non mi gira il programma se uso 8 vettori di tipo double di lunghezza 20000?

Se ne sapete qualcuna aiuterete i suoi capelli a non diventare bianchi, se no fa niente :P

gorgon
20th February 2008, 21:51
Ho un amico in procinto tesi che ha bisogno di aiuto, vi rigiro le sue domande:
1) che significa il codice di errore -1073741819
[non so perche' dovreste saperlo, ma tentar non nuoce e poi prendetevela con lui]
sul sito dell'intel c'è un manuale con tutti i codici di errori possibili, comodamente scaricabile e pure consultabile online
[a naso cmq non sembra un codice d'errore di icc: tutti quelli che ho visto finora hanno un codice con molte meno cifre]


2) lcc ha dei limiti nel numero di variabili che può trattare?

a naso non credo...

3) perchè non mi gira il programma se uso 8 vettori di tipo double di lunghezza 20000?
...e nel caso specifico io uso un "vector di vector di double" che ha dimensioni che sono qualcosa tipo "20xqualche milione": 8x20000 ti gira pure sul nokia di 6 anni fa...
tieni conto che: rispetto al compilatore gnu ci sono delle differenze nell'ottimizzazione del compilato (anche a livello di opzioni di compilazione da settare nel makefile o come variabili di ambiente) e che tali differenze si fanno sentire a seconda della versione del compilatore gnu e di quello intel che prendi; che l'architettura a 64 bit può creare fastidiosi problemi (in questi gg ci sto diventando letteralmente pazzo, perché un codice che gira su macchine a 32 _benissimo_ sbrocca completamente su quelle a 64)

adigirolam
20th February 2008, 22:14
Allora quando utilizza cosi' tante variabili, 8vettori da 20000 e manda in esecuzione il programma, quello non gira e rimanda indietro la scritta return code -1073741819. Quindi mi stai dicendo che probabilmente il problema risiede in lcc? me ne puoi consigliare uno free per windows? thx 8)

gorgon
20th February 2008, 23:14
Allora quando utilizza cosi' tante variabili, 8vettori da 20000 e manda in esecuzione il programma, quello non gira e rimanda indietro la scritta return code -1073741819. Quindi mi stai dicendo che probabilmente il problema risiede in lcc? me ne puoi consigliare uno free per windows? thx 8)

il compilatore gnu dovrebbe esistere anche su windows, ma non ti so dire di preciso perchè lavoro solo sotto linux

cmq sei sicuro che gli riesce fuori una scritta del genere? perché di solito un valore così elevato non è tanto un codice di errore ma il fatto che un'istruzione di lettura/scrittura è andata a pescare in una posizione non esistente di un file/array/vettore

esempio: hai un file con una colonna di 8000 dati che si chiama pippo.txt e nell'istruzione di lettura gli dici di leggere pippA.txt; lui va ad aprire il file, non lo trova, se lo crea (e ovviamente è vuoto) e si cicla 8000 righe inesistenti; a questo punto quello che ottieni è un vettore con 8000 valori tutti sballati presi a caso da quello che c'era allocato nella ram del computer su cui giravi
peggio ancora, gli dici di leggere 8000 righe, nel file ce ne sono solo 900 e nelle ultime 7100 posizioni o ci schiaffa il valore della 900° riga o dei valori a caso

in entrambi i casi senza darti un cazzo d'errore durante la lettura del file (puoi inserire delle istruzioni "fail safe" ma lui di default non t'avverte compila ed esegue come se nulla fosse

PS: così a naso cmq il problema non è tanto dell'icc (che funziona, funziona bene, e se lo fai girare su una macchina intel è appositamente ottimizzato per quella macchina direttamente da intel e sicuramente lo fa in maniera più performante di un codice compilato con gcc) ma del fatto che il programma che ha scritto il tuo amico necessita di un po' di... sano debugging ;)