Dubbio su uso Ciclo For

12 Anni 4 Settimane fa #1 da neborkia79
Dubbio su uso Ciclo For è stato creato da neborkia79

Rendering Error in layout Message/Item: array_keys(): Argument #1 ($array) must be of type array, null given. Please enable debug mode for more information.

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • neborkia79
  • Avatar di neborkia79
  • New Member
  • New Member
Di più
12 Anni 4 Settimane fa #2 da StefA
Risposta da StefA al topic Re: Dubbio su uso Ciclo For
in linea di massima un ciclo for diminuisce le righe di codice, per trovare il limite di "convenienza" dai uno sguardo al codice disassemblato (view->disassembling listing) e vedi cosa ti conviene.
Non so con l'HI-TECH C, ma con il C18 nella seguente riga:

for (unsigned char i=0;, i<4; i++)

non è permesso dichiarare la variabile dentro il ciclo for, devi fare la dichiarazione all'inizio della funzione.

unsigned char i;
for (i=0;, i<4; i++)
{

}

..avevano magari fatto lo sgambetto al ka, ma il sangue restava sempre più denso dell'acqua.. [cit.]
Ringraziano per il messaggio: neborkia79

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • StefA
  • Avatar di StefA
  • Moderator
  • Moderator
Di più
12 Anni 4 Settimane fa #3 da neborkia79
Risposta da neborkia79 al topic Re: Dubbio su uso Ciclo For
Grazie per i chiarimenti!

L'Hi-tech C permette di fare la dichiarazione di "i" dentro il ciclo for, quello che cambia penso sia la sua visibilità, in un caso rimane visibile ed allocata solo all'interno del ciclo e nell'altro no!

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • neborkia79
  • Avatar di neborkia79
  • New Member
  • New Member
Di più
12 Anni 3 Settimane fa #4 da Mauro Laurenti
Risposta da Mauro Laurenti al topic Re: Dubbio su uso Ciclo For
Ciao,

in sistemi embedded ottimizzare il codice e' sicuramente una cosa piu' delicata e alla quale prestare maggiore attenzione.

Ciononostante la RAm e' solo una sfaccettatura. A seconda dell'applicazione e dalle esigenze puo' convenire usare un programma piu' grosso in flash o che richieda piu' RAM.

In applicazioni che devono per esempio usare una batteria ed utilizzarla per 10 anni, bisogna fare molta attenzione.

Per esempio il for con dichiarata la variabile localmente non e' una buona pratica low energy anche se la programmazione ad ogegtti ne incoraggia l'uso (dichiara la variabile dove ti serve).

Una variabile in un ciclo for e' locale quindi deve essere allocata ogni volta, sprecando quindi cicli istruzioni ovvero energia, se paragonata ad una variabile globale.

Allo stesso modo si incoraggia il passare i parametri ad una funzione per valore e non per riferimento, mentre in applicazioni low power e' meglio il contrario.

Dunque ottimizzare il codice dipende molto dall'applicazione.

In ogni modo la regola principale e' quella di mantenere il codice leggibile ed ottimizzare solo a tempo debito, e se necessario.
Dare sempre la priorità alla leggibilità.

Saluti,

Mauro
Ringraziano per il messaggio: neborkia79

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • Mauro Laurenti
  • Avatar di Mauro Laurenti
  • Moderator
  • Moderator
Di più
12 Anni 3 Settimane fa #5 da neborkia79
Risposta da neborkia79 al topic Re: Dubbio su uso Ciclo For
Grazie, non avevo assolutamente pensato a questa cosa!

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • neborkia79
  • Avatar di neborkia79
  • New Member
  • New Member
Di più
Moderatori: Mauro LaurentiStefA

Registrati al sito

Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.

Registrati al sito LaurTec.

Login