#38 bueno para que te importe la CPU a nivel de implementación tendrás que bajar un poco más abajo, a nivel de intrínsecos de C o directamente ASM.
En principio incluso en C deberías de estar razonable aislado de la CPU como para que no te importe a nivel de implementación, ese código que pones de ejemplo es muy raro (sería en todo caso con #if preprocesador).
Pero el problema no ese. El problema es que hay bugs que en una arquitectura no se manifiestan y otra sí, porque el layout de memoria es diferente, porque el código máquina es diferente, o porque las librerías de las que dependes son diferentes.
Quiero decir a lo mejor tu programa es perfecto, pero dependes de la librería A que depende de B y resulta que B tiene un bug en ARM que acaba en un segment fault.
Cuando trabajas en software un poco crítico lo que quieres es que todo el SO y todo tu conjunto de librerías, compiladores y en general todo sea idéntico, cualquier otra cosa te mete una capa de complejidad que si no la necesitas mejor quitarla.
En principio incluso en C deberías de estar razonable aislado de la CPU como para que no te importe a nivel de implementación, ese código que pones de ejemplo es muy raro (sería en todo caso con #if preprocesador).
Pero el problema no ese. El problema es que hay bugs que en una arquitectura no se manifiestan y otra sí, porque el layout de memoria es diferente, porque el código máquina es diferente, o porque las librerías de las que dependes son diferentes.
Quiero decir a lo mejor tu programa es perfecto, pero dependes de la librería A que depende de B y resulta que B tiene un bug en ARM que acaba en un segment fault.
Cuando trabajas en software un poco crítico lo que quieres es que todo el SO y todo tu conjunto de librerías, compiladores y en general todo sea idéntico, cualquier otra cosa te mete una capa de complejidad que si no la necesitas mejor quitarla.