Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
hay zonas de memoria y hay punteros a zonas de memoria almacenadas en otras zonas de memoria
y luego hay una jerarquía mientras el cerebro pueda percibir
Además, las inserciones de los ensambladores son muy utilizadas también.
Me retracto parcialmente, mira a partir de las 18:00 , sí, no escriben en asm, sino que arreglan código ya compilado - entonces es lógico
por lo que tengo entendido lo que hacen los compiladores modernos con inserciones en ensamblador es sólo una imitación de asm, es decir, no es un hecho que las inserciones asm en tal forma lleguen al código compilado, y para optimizar realmente en código asm lo suficiente como para reescribir secciones de código en asm en el depurador - imho
hay zonas de memoria y hay punteros a zonas de memoria almacenadas en otras zonas de memoria
y luego hay una jerarquía mientras el cerebro pueda percibir
Sí, y también es genial no estar pendiente de si un enlace está vivo o no y arrastrarse a una sección de memoria largamente liberada que ya está siendo utilizada por otro proceso y romper todo allí))))
Sí, y también es genial no rastrear cuando un enlace está vivo o no y arrastrarse a un espacio de memoria largamente liberado, que ya es utilizado por otro proceso y romper todo allí))))
Qué cuento, esto sólo era posible en Windows 3.*. Windows no te dejará entrar en la memoria de procesos ajenos, cada proceso trabaja en su propia área, y para él el direccionamiento de la memoria comienza desde cero, así se lo presenta Windows. Y en general, Windows asigna memoria sólo cuando realmente se escriben datos. Haga un array doble arr[1024*1024*1024] y vea cuánta memoria está realmente asignada en el Administrador de Tareas. ¡Pero en absoluto! Hasta que no se empiece a escribir en el array, la memoria no se asignará en trozos de 4Kb. Incluso si lo escribes usando índices aleatorios, seguirá estando en esos trozos. ¡Cómo virtualiza Windows todo esto es insondable para mí!
Cómo virtualiza Windows todo esto me resulta insondable.
No quiero buscarlo en Google, pero con la llegada del Pentium-1 el procesador tenía descriptores de segmentos de memoria y memoria virtual, es decir, lo más probable es que sea una virtualización a nivel de hardware, y Windows la utiliza con habilidad
Qué cuento, esto sólo era posible en Windows 3.*. Windows no te dejará entrar en la memoria de procesos ajenos, cada proceso trabaja en su propia área, y para él el direccionamiento de la memoria comienza desde cero, así se lo presenta Windows. Y en general, Windows asigna memoria sólo cuando realmente se escriben datos. Haga un array doble arr[1024*1024*1024] y vea cuánta memoria está realmente asignada en el Administrador de Tareas. ¡Pero en absoluto! Hasta que no se empiece a escribir en el array, la memoria no se asignará en trozos de 4Kb. Incluso si lo escribes usando índices aleatorios, seguirá estando en esos trozos. Cómo virtualiza Windows todo esto me resulta insondable.
El tres no tenía virtualización, es un sistema diferente, no es NT. Había un montón de colas de DOS allí, la mitad de las funciones del sistema dependían de la int 21.
Este caso no está claro:
Además, en el f-i hay un cambio en el tamaño de la matriz M:
Es decir, según entiendo, todo este lío es sólo para asignar memoria para la matriz, pero no se llena con ningún valor? Así, este código puede ser lanzado para mql (bueno, después de determinar el número de filas y el mismo número de columnas de la matriz cuadrada)
o la matriz se inicializa con algunos valores
...¡Cómo el sistema eólico virtualiza todo esto es insondable para mí!
Lee a Richter. Lo tiene todo masticado hasta el punto de herir tu corazón.
SeriousRacoon:
Por cierto, interesante agujero, tendré que ver si es posible colapsar el servidor de esa manera
No se puede.
Este caso no está claro:
score->n = MAX((int) floor(B/2.0), 2) - 1; задали кол-во строк, ок score->m = (int *) malloc(score->n * sizeof(int)); а кол-во столбцов тут чему равно? кол-ву строк?
score->M[i] = (double *) malloc ((score->m[i]) * sizeof(double)); а здесь идет просто выделение памяти для матриы М?
Además, hay un cambio en el tamaño de la matriz M en el f-i:
Es decir, según entiendo, todo este lío es sólo para asignar memoria para la matriz, pero no se llena con ningún valor? Así, este código puede ser lanzado para mql (bueno, después de determinar el número de filas y el mismo número de columnas de la matriz cuadrada)
o, después de todo, la matriz se inicializa con algunos valores
Enmine_score*m es un puntero a int, y el comentario dice que es un array, por lo que cada fila tiene un número diferente de columnas, se llama un "array en peine" no rectangular.
score->m = (int *) malloc(score->n * sizeof(int))
Simplemente asigna memoria para esta matriz de longitudes de fila, sin valores
Para la propia matriz M.
aquí se asigna memoria para los punteros de las filas
score->M[i] = (double *) malloc ((score->m[i]) * sizeof(double)); а здесь идет просто выделение памяти для матриы М?
y aquí para las columnas