C/Visual C - La palabra "Register en C"

 
Vista:

La palabra "Register en C"

Publicado por Vash Reynoso (1 intervención) el 11/01/2005 14:20:17
Hola, estoy actualmente programando en C y note en un libro que antes de definir algunas variables colocaban la palabra "register" cosa que no habia notado antes... estoy buscanco una explicacion pero no la encuentro me ayudan please? :D
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:La palabra

Publicado por El Mogur (202 intervenciones) el 11/01/2005 15:44:33
La palabra reservada register sirve al compilador para indicarle que "intente" almacenar ese valor en un registro de la CPU en vez de directamente en memoria, porque consideras que es una variable utilizada masivamente en la función, y es conveniente que no se guarde en memoria, para evitar movimientos de datos entre memoria y CPU.

Es una palabra reservada que tenía sentido al principio de los tiempos de C, cuando los compiladores no eran extremadamente hábiles y necesitaban las indicaciones del programador. Hoy en día, los compiladores son (o deberían ser) lo suficientemente "avispados" para darse cuenta de qué variables se utilizan más, y tratar de que esas estén en registros constantemente, evitando así tiempo de ejecución al mover datos.

De todas formas, obviamente, poner "register" no obliga al compilador a guardar esa variable en un registro, sino que es algo así como "si tienes registros libres de CPU al compilar esta función, y aprovecharlos para guardar alguna variable en él, pues yo prefiero que sea esta en vez de otra".

No sé si ha quedado claro...

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar