Mentre imparo di più su C e C ++ mi chiedo: come può un compilatore utilizzare le nuove funzionalità dei processori senza limitarlo solo alle persone con, ad esempio, Intel Core i7?
Pensaci: i nuovi processori escono ogni anno con molte nuove tecnologie. Tuttavia, non è possibile indirizzarli solo perché una parte significativa del mercato non eseguirà l'aggiornamento ai processori più recenti e più grandi per un lungo periodo di tempo.
Mi chiedo più o meno come questo sia gestito in generale dagli sviluppatori e dai compilatori C e C ++. I compilatori rendono il codice simile a if SSE is supported, do this using it, else do that using the slower way
o gli sviluppatori devono implementare il loro algoritmo due volte o cosa?
Più o meno come si rilascia un software che sfrutta le più recenti tecnologie di processore mantenendo comunque un minimo comune denominatore?