significado - Cómo colocar una variable en una dirección absoluta dada en la memoria(con Visual C++)
tipos de variables en c++ y su significado (1)
Se puede hacer, pero no creo que exista una forma predefinida de hacerlo, por lo que llevará algo de experimentación. Aunque no veo mucho beneficio si crea su variable en tiempo de ejecución al inicio de la ejecución del código de usuario.
Por lo tanto, primero especifique la sección / segmento donde debe iniciar su variable utilizando el especificador específico de MS asignado . Luego, inicie su aplicación en un escenario real, vacíelo o depúrelo y vea dónde aparece su variable. Esté atento a las deslocalizaciones (hay algunas formas de intentar exigir la reubicación, pero no se garantiza que sean honradas todo el tiempo). Otra forma es usar algún código en su aplicación como este para encontrar la dirección de la sección que definió.
Si por alguna razón no puede obtener un comportamiento consistente, puede usar esta utilidad para manipular la dirección virtual de su archivo de objeto. En general, excepto obstáculos en el camino, pero en general no veo por qué no sería capaz de hacerlo funcionar para su escenario específico si es lo suficientemente persistente.
¿Cómo puedo decirle estáticamente a Visual C ++ que coloque una variable global en una dirección absoluta dada en la memoria, como lo hace __attribute__((at(address)))
?