C vs linguaggio assembly

C vs linguaggio assembly

In questo articolo, sto cercando di spiegare alcuni criteri di selezione della lingua e di descrivere la differenza tra la c e il linguaggio assembly.

Quando iniziamo un progetto, la selezione della lingua è una pietra miliare. Selezioniamo la lingua secondo le nostre esigenze.

In genere, le persone selezionano la lingua sulla base dei seguenti punti.

  • Portabilità: La portabilità è il fattore più importante nella selezione della lingua. Se il codice sorgente non è portabile, dobbiamo pagare un sacco di tempo.
  • Manutenibilità: La lingua dovrebbe essere facile da capire, altrimenti ci vorrà molto tempo per piccoli cambiamenti.
  • Disponibilità: Il compilatore e l'IDE dovrebbero essere facilmente disponibili sul mercato e la cosa più importante è che dovrebbero essere economici.
  • Efficienza: Il linguaggio ha una buona efficienza e il tasso di bug dovrebbe essere inferiore.
  • Tempo di sviluppo: Dedica meno tempo allo sviluppo del progetto.

Se vuoi saperne di più sul linguaggio C, qui 10 giorni gratuiti (fino a 200 minuti) Video corso C per te.

La tua prova gratuita è in attesa

C CONTRO ASSEMBLAGGIO

Ogni lingua ha la sua importanza, non possiamo dire nessuna lingua buona o cattiva. Nel mio progetto, avevamo usato solo alcune righe di codice assembly oltre a tutto il codice rimanente che avevamo scritto in C.

Ci sono punti seguenti che descrivono la differenza tra C e Assembly.

  • Il linguaggio c fornisce portabilità e non dipende dalla piattaforma specifica. È il più grande vantaggio di C e questa proprietà rende le persone indifese nell'usare C. Il codice che è stato scritto in c potrebbe essere facilmente riutilizzato su una piattaforma diversa, inoltre Assembly non fornisce la portabilità e il codice sorgente specifici di un processore perché assembly l'istruzione dipende dall'architettura del processore.
  • Il software che è stato scritto in assembly funziona bene rispetto a C. Il compilatore C dei giorni nostri genera un codice assembly più ottimizzato. I compilatori C generalmente eseguono ottimizzazioni migliori di quelle che puoi sostenere per ore e giorni.
  • In generale, non possiamo dire che il codice assembly generato dal compilatore sia sempre migliore, perché quando l'uomo scrive un software in assembly, pensa a molti scenari specifici per il requisito e il processore che non sono stati gestiti dal compilatore.
  • In caso di IDE del microcontrollore, generare un codice assembly (codice di avvio) per inizializzare lo stack, l'heap e l'NVIC. Inoltre, è difficile mantenere il codice Assembly. Quindi, quando stack e heap sono stati inizializzati, chiamavamo una funzione C per inizializzare diversi clock di sistema.
  • Credo che l'API che ha scritto in assembly sarebbe veloce. Questo è il motivo principale per scrivere le routine memset() e memcpy() in assembly.
  • Credevo che l'eseguibile generato dal linguaggio assembly avesse dimensioni inferiori rispetto al linguaggio c ma non sempre vero.

La tua opinione è importante

Qui, ho cercato di spiegare la differenza tra il linguaggio c e l'assembly, ma vorrei conoscere la tua opinione su assembly e il linguaggio c, quindi per favore non dimenticare di scrivere un commento nella casella dei commenti.