Grafica C in linux

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
Avatar utente
elegos
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1308
Iscrizione: sabato 14 ottobre 2006, 18:34
Contatti:

Re: Grafica C in linux

Messaggio da elegos »

nono funziona benissimo ^^ slo che è meno ordinato... a meno che non si usino solo all'interno di specifiche funzioni, le variabili dovrebbero sempre essere messe all'inizio... per ordine e pulizia (nel caso di modifiche anche pesanti al codice, magari non usi più variabili, e dove le vai a cancellare? all'inizio ^^)
Andrea88
Prode Principiante
Messaggi: 156
Iscrizione: mercoledì 1 novembre 2006, 17:46

Re: Grafica C in linux

Messaggio da Andrea88 »

Ho installato turbo-c .. mi da errore se dichiaro non all'inizio!! Allora il mio prof aveva ragione!!  (good)
Posto l'immagine
[img width=800 height=600]http://img158.imageshack.us/img158/8263 ... atams2.png[/img]
Avatar utente
simo_magic
Rampante Reduce
Rampante Reduce
Messaggi: 9496
Iscrizione: lunedì 18 dicembre 2006, 21:37
Località: Piemonte

Re: Grafica C in linux

Messaggio da simo_magic »

apparte che fa leggermente schifo quel compilatore...comunque...
usa almeno qualcosa di più compatibile...
tipo devc++...che oltre ad essere sotto gpl usa un port di gcc(il migliore compilatore secondo me)

detto questo...è il compilatore che non rispetta gli standard...se il tuo professore vi fa usare roba che non rispetta gli standard...bah... (mad)
Avatar utente
elegos
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1308
Iscrizione: sabato 14 ottobre 2006, 18:34
Contatti:

Re: Grafica C in linux

Messaggio da elegos »

appunto in ISO/ANSI C è permesso... e non parlo di C++...
Andrea88
Prode Principiante
Messaggi: 156
Iscrizione: mercoledì 1 novembre 2006, 17:46

Re: Grafica C in linux

Messaggio da Andrea88 »

simo_magic ha scritto: apparte che fa leggermente schifo quel compilatore...comunque...
usa almeno qualcosa di più compatibile...
tipo devc++...che oltre ad essere sotto gpl usa un port di gcc(il migliore compilatore secondo me)

detto questo...è il compilatore che non rispetta gli standard...se il tuo professore vi fa usare roba che non rispetta gli standard...bah... (mad)
A scuola avevamo sia devc++ sia turbo-c .. io usavo turbo-c solo xkè aveva una bella guida .. cioè quando non conoscevo il nome di una funzione o una sintassi in neanke 30 sec avevo la risposta .. cmq ke delusione sapere ke ho passato 5 anni di superiori a compilare roba in un ide non standard XD
Avatar utente
jepessen
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 3569
Iscrizione: lunedì 26 dicembre 2005, 11:49
Desktop: KDevelop
Distribuzione: Ubuntu 20.04
Sesso: Maschile
Località: Somma Lombardo

Re: Grafica C in linux

Messaggio da jepessen »

Mica è l'IDE non standard, ma il compilatore...
Compiz l'ha creato Chuck Norris quando ha colpito un computer con un calcio rotante.
http://www.renderosity.com/mod/gallery/ ... e=Jepessen
http://jepessen.wordpress.com/
Avatar utente
elegos
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1308
Iscrizione: sabato 14 ottobre 2006, 18:34
Contatti:

Re: Grafica C in linux

Messaggio da elegos »

ed in ogni caso Dev-CPP ha una guida al C/C++... con tutte le funzioni standard...
Andrea88
Prode Principiante
Messaggi: 156
Iscrizione: mercoledì 1 novembre 2006, 17:46

Re: Grafica C in linux

Messaggio da Andrea88 »

jepessen ha scritto: Mica è l'IDE non standard, ma il compilatore...
si scusa il compilatore
ed in ogni caso Dev-CPP ha una guida al C/C++... con tutte le funzioni standard...
Non la trovavo  :P .. cmq adesso non mi serve più .. qua a casa ho internet e con google trovi tutto  (good)
b3knight
Prode Principiante
Messaggi: 183
Iscrizione: venerdì 28 aprile 2006, 17:48
Località: Monchiero (CN)

Re: Grafica C in linux

Messaggio da b3knight »

Mi inserisco nella discussione... Ho da poco sostenuto l'esame di C all'uni ed il mio prof ha ripetuto più volte che si possono dichiarare variabili non all'inizio, ma in questi casi la compilazione NON E' GARANTITA! Cioè: funzionare magari funziona, ma soltanto grazie a un compilatore che riconosce questo errorino e lo corregge.

Qualcuno ha scritto: "quel compilatore fà schifo" (non so a quale si riferisse); forse a volte può essere utile compilare con compilatori totalmente essenziali, in modo da avere un codice sicuramente pulito e corretto.

Ricapitolando, la dichiarazione di variabili non all'inizio è una pratica diffusa, che magari funziona, ma NON rispetta le specifiche del C!
Avatar utente
simo_magic
Rampante Reduce
Rampante Reduce
Messaggi: 9496
Iscrizione: lunedì 18 dicembre 2006, 21:37
Località: Piemonte

Re: Grafica C in linux

Messaggio da simo_magic »

l'ho scritto io che il compilatore di turboc fa schifo...
ok ai compilatori che rispettano solo gli standard...e infatti io ho proprio consigliato quello che li rispetta tutti! gcc!!

ma non è mica scritto da nessuna parte che io sappia che la specifica ufficiale costringa a scrivere tutte le variabili all'inizio del codice...così si intasa solo la memoria se la variabile servisse solo all'interno di un blocco...
e se avessi bisogno di 2 variabili di nome "abc"?
se le dichiaro all'inizio mi si impalla il compilatore...invece se le dichiaro all'interno della funzione no ne posso dichiarare 2...
wally67
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 699
Iscrizione: giovedì 1 marzo 2007, 15:31
Distribuzione: xubuntu 20.04 LTS x86_64 (l'unica)

Re: Grafica C in linux

Messaggio da wally67 »

penso quindi di aver avuto un po' di ragione anche io :P
comunque grazie per aver aiutato anche me a chiarire alcuni dubbi

in merito a quanto dice simo
ma non è mica scritto da nessuna parte che io sappia che la specifica ufficiale costringa a scrivere tutte le variabili all'inizio del codice...così si intasa solo la memoria se la variabile servisse solo all'interno di un blocco...
cosi' sembra che se uso una variabile in un blocco questa non viene allocata all' inizio della funzione. invece non e' cosi', almeno per il compilatore che ho usato io (microcontrollori freescale) di cui sono anche andato a spulciarmi l' assembler ::)

wally 67 (e sono tanti)
Se io do una moneta a te e tu una a me abbiamo entrambi 1 moneta;
ma se io do una idea a te e tu una a me abbiamo entrambi 2 idee.
Avatar utente
simo_magic
Rampante Reduce
Rampante Reduce
Messaggi: 9496
Iscrizione: lunedì 18 dicembre 2006, 21:37
Località: Piemonte

Re: Grafica C in linux

Messaggio da simo_magic »

no mi spiego...

Codice: Seleziona tutto

#include <stdio.h>
int main(){
        int a;
        a=2;
        if(a==2)
        {
                int b;
                b=10;
                printf("%d",b);
        }
        else
        {
                int b;
                b=5;
                printf("%d",b);
        }
}
non voglio nemmeno sapere come lo compila turboc o altri compilatori non standard...so solo che gcc lo compila e in output mi da 10 come è giusto che sia senza nemmeno fare un warning...perchè è tutto regolare!
wally67
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 699
Iscrizione: giovedì 1 marzo 2007, 15:31
Distribuzione: xubuntu 20.04 LTS x86_64 (l'unica)

Re: Grafica C in linux

Messaggio da wally67 »

forse non sono stato chiaro. dal tuo codice sembra che tu ti aspetti qualcosa del tipo:

Codice: Seleziona tutto

//int main() {
    //int a;
    push ax
    //a=2;
    mov ax, 2
    mov (sp), ax
    //if(a==2)
    cmp ax, 2
    bne _else
    //int b;
    push ax
    //b=10;
    mov ax, 10
    mov (sp), ax
    //printf ... questa risparmiamela :-)
    jmp _end
    /else
_else
    //int b;
    push ax
    //b=5;
    mov ax, 5
    mov (sp), ax
    //printf ... anche questa
_end
invece probabilmente avrai

Codice: Seleziona tutto

    //int a;
    push ax
    push ax
    push ax
    //a=2;
    mov ax, 2
    mov (sp-6), ax
    //if(a==2)
    cmp ax, 2
    bne _else
    //int b;
    //b=10;
    mov ax, 10
    mov (sp-4), ax
    //printf ... 
    jmp _end
    /else
_else
    //int b;
    //b=5;
    mov ax, 5
    mov (sp-2), ax
    //printf ... 
_end
con addirittura un uso maggiore di memoria. per lo meno questo e' quello che ho visto con il compilatore della freescale

wally 67 (e sono tanti)

p.s.
pero' la prossima volta non farmi fare tutta questa fatica ;D
Se io do una moneta a te e tu una a me abbiamo entrambi 1 moneta;
ma se io do una idea a te e tu una a me abbiamo entrambi 2 idee.
Andrea88
Prode Principiante
Messaggi: 156
Iscrizione: mercoledì 1 novembre 2006, 17:46

Re: Grafica C in linux

Messaggio da Andrea88 »

Quindi meglio programmare in assembler per avere il codice piu efficente possibile  :P
wally67
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 699
Iscrizione: giovedì 1 marzo 2007, 15:31
Distribuzione: xubuntu 20.04 LTS x86_64 (l'unica)

Re: Grafica C in linux

Messaggio da wally67 »

oh andrea, adesso bisogna fare attenzione alle virgole ;D

occorre chiarire il concetto di efficienza: per ridurre la dimensione del codice l' assembler e' l' ideale (in alcuni casi e' indispensabile, basta pensare che i context-switch vengono fatti solo in assembler). ma la struttura del programma, in termini di flessibilita', manutenzione, leggibilita' e anche portabilita' (soprattutto) e' decisamente meglio scriverla in un linguaggio ad alto livello (C, C++, Pascal, ... ma io preferisco C/C++ :P)

per il resto basta conoscere come vanno le cose. io la pensavo come simo fino a quando non ci ho sbattuto il naso. poi puo' anche essere che un altro compilatore si comporti in modo diverso. come la faccenda della dichiarazione variabili in C ad inizio corpo. a proposito. io il C lo ho studiato sul kerningam-ritchie ma questa storia della dichiarazione me la sono proprio persa. e' cosi' o manca sul serio?

wally 67 (e sono tanti)
Se io do una moneta a te e tu una a me abbiamo entrambi 1 moneta;
ma se io do una idea a te e tu una a me abbiamo entrambi 2 idee.
ted
Prode Principiante
Messaggi: 71
Iscrizione: giovedì 19 ottobre 2006, 11:49
Località: milano

Re: Grafica C in linux

Messaggio da ted »

comunque anche il gcc oppure g++ non te lo compilano se usi l'opzione -pedantic oppure -ansi oppure tutte e due assieme
lo standar c ufficiale sono le variabili al inizio e conviene sempre compilare un  codice con -ansi se si vuole che funzioni su tutti i compilatori.
Mi sa pero che anche sul turbo c ce il modo di non farli segure lo standar bisognerà cambiare le opzioni di compilazione.
Andrea88
Prode Principiante
Messaggi: 156
Iscrizione: mercoledì 1 novembre 2006, 17:46

Re: Grafica C in linux

Messaggio da Andrea88 »

Ma lo standard ansi dov'è che c'è scritto?
Avatar utente
simo_magic
Rampante Reduce
Rampante Reduce
Messaggi: 9496
Iscrizione: lunedì 18 dicembre 2006, 21:37
Località: Piemonte

Re: Grafica C in linux

Messaggio da simo_magic »

Andrea88 ha scritto: Ma lo standard ansi dov'è che c'è scritto?
tu vuoi quindi leggere la specie di "regolamento di utilizzo" del c che fa parte degli standard ansi?
Andrea88
Prode Principiante
Messaggi: 156
Iscrizione: mercoledì 1 novembre 2006, 17:46

Re: Grafica C in linux

Messaggio da Andrea88 »

Si tutte le norme/regole ke permettono ad un programma di seguire lo standard ansi .. cmq ho già trovato  ;D
Avatar utente
Guiodic
Accecante Asceta
Accecante Asceta
Messaggi: 28474
Iscrizione: martedì 24 aprile 2007, 15:28
Località: Roma
Contatti:

Re: Grafica C in linux

Messaggio da Guiodic »

Io mi ricordo cosa disse il mio prof quando fece la prima lezione di C :

Ragazzi, avete imparato con fatica le regole del Pascal. Adesso prendete tutto ciò che sapete e dimenticatelo :)
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 3 ospiti