View Single Post
Old 30-01-2008, 01:47   #37
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
Quote:
Originariamente inviato da ilsensine Guarda i messaggi
La Apple, ovvio


Non è questo il punto; la scrittura di inline assembler è un grattacapo per il compilatore c. Quali registri ha a disposizione? Quali vengono preservati dall'asm? Come "connettere" al meglio il codice asm con il resto? La memoria viene modificata o meno? I flag di stato sono alterati? Il controllo fine sulle condizioni al contorno da la possibilità al compilatore di non penalizzare l'ottimizzazione del codice c solo perché in mezzo c'è del codice asm.
hai presente di cosa stiamo parlando?
i blocchi di assembly in mezzo al codice C sono cose che ormai non vengono più scritte nemmeno nei drivers!! (almeno per quanto riguarda Windows)
in pratica vengono usati solo da chi programma sistemi operativi e chi vuole usare istruzioni specifiche del processore inaccessibili tramite linguaggio e API.
sono una cosa che già di per se' viene usata una volta ogni morte di papa, poi mettici anche che nel 50% dei casi le routines che ne contengono contengono solo quello (e quindi non resta un bel niente da "connettere" col codice C circostante) e nel rimanente 50% sono dei blocchi talmente piccoli che la mancata ottimizzazione loro e delle due istruzioni circostanti a parer mio non è un grave problema.
tutti quelli scervellamenti, imho, sono una soluzione eccessiva: una sintassi incomprensibile per un problema inesistente
71104 è offline   Rispondi citando il messaggio o parte di esso