¿Qué es un identificador de archivo?
Pregunta 1: ¿Qué es un identificador de archivo? En la E/S de archivos, para leer datos de un archivo, la aplicación primero debe llamar a la función del sistema operativo, pasar el nombre del archivo y seleccionar una ruta al archivo. archivo para abrir el archivo. Esta función recupera un número de secuencia, es decir, el identificador del archivo, que es la única base de identificación para el archivo abierto. Para leer un dato de un archivo, la aplicación necesita llamar a la función ReadFile y transmitir la dirección del identificador del archivo en la memoria y la cantidad de bytes que se copiarán al sistema operativo. Cuando se completa la tarea, el archivo se cierra llamando a la función del sistema.
Pregunta 2: ¿Qué es un identificador? Un identificador es un número entero (normalmente de 32 bits) que representa un objeto. Los identificadores en Windows son similares a los identificadores de archivos utilizados en la programación tradicional en C o MS-DOS. Los programas casi siempre obtienen identificadores llamando a funciones de Windows. Los programas usan este identificador en otras funciones de Windows para usar el objeto que representa.
En Windows, puede haber muchos tipos de ventanas. Una ventana puede ser un área rectangular y cerrada en la pantalla, como una ventana de aplicación familiar. Los controles de un formulario (como un cuadro de lista o una barra de desplazamiento) también pueden ser ventanas, pero no todos los tipos de controles son ventanas. Los iconos del escritorio y el propio escritorio también son ventanas. Como todos estos tipos de objetos son ventanas, Windows puede manejarlos de manera similar. Windows le da a cada ventana un identificador único a través del cual se manipula la ventana. Muchas funciones API devuelven identificadores o aceptan identificadores como argumentos.
Cuando se crea una ventana, Windows le asigna un identificador y el identificador se libera después de que la ventana desaparece.
Pregunta 3: ¿Qué significa "manejar"? El mango puede entenderse como un indicador de operación.
Por ejemplo, un programa tiene muchas ventanas y cada ventana tiene muchos atributos
Cómo operar una determinada ventana le da dolor de cabeza al sistema
Por lo tanto, diferentes ventanas están marcadas con diferentes etiquetas y identificadores de ventana
DECLARE_HANDLE es HWND
Entonces muchas funciones pasan. Esta marca se usa para determinar qué ventana operar
Por ejemplo::SetWindowText( hWnd, strTitle...
Hay muchos otros tipos de identificadores
Piense en identificadores de archivos, identificadores de subprocesos, etc.
El identificador no es profundo, es un mito dado por el traductor. ¡Es un identificador de control y operación! > Pregunta 4: ¿Qué tipo de valor es un identificador? 5 puntos Programación VC - Identificadores
El concepto de identificador es un concepto muy importante en la programación de WINDOWS y juega un papel importante en muchos lugares, pero el identificador resultante. Los conceptos también son similares, como por ejemplo: &l Ding;> (Microsoft Press, por Richard Wilton) El concepto de identificadores en el libro es: En el entorno de Windows, los identificadores se utilizan para identificar proyectos. Estos proyectos incluyen:
<. p> *.Module (módulo)*.Task (tarea)
*.Instance (instancia)
*.File (archivo)
*.Memory block (bloque de memoria)
*.Menu (menú)
*.Control (control)
*.Font ( fuente)
*.Recurso, incluido icono, cursor, cadena, etc.
*.Objeto GDI, incluido mapa de bits, pincel (pincel), metarchivo, paleta, lápiz, región, y contexto del dispositivo.
Los programas WINDOWS no utilizan direcciones físicas para identificar un bloque de memoria, archivo, tarea o módulo cargado dinámicamente. Por el contrario, la API de WINDOWS asigna ciertos identificadores a estos elementos y devuelve el identificador al programa de la aplicación. y luego opere a través del mango.
Esto se dice en el libro > (Nanjing University Press): Un identificador es un número entero único utilizado por WINDOWS para identificar un objeto creado o utilizado por una aplicación. WINDOWS utiliza una variedad de identificadores Identifica cosas como una aplicación. instancias, ventanas, controles, mapas de bits, objetos GDI y más. El identificador de WINDOWS es un poco como un identificador de archivo en lenguaje C.
De las dos definiciones anteriores, podemos ver que un identificador es un identificador, que se utiliza para identificar un objeto o proyecto. Es como nuestro nombre, todos tendrán uno, puede haber personas diferentes. con diferentes nombres, pero puede haber alguien con el mismo nombre que tú. Desde el punto de vista del tipo de datos, es solo un entero sin signo de 16 bits. Las aplicaciones casi siempre obtienen un identificador llamando a una función de WINDOWS, que luego pueden usar otras funciones de WINDOWS para hacer referencia al objeto correspondiente. En la programación de WINDOWS se utiliza una gran cantidad de identificadores, como: HINSTANCE (identificador de instancia), HBITMAP (identificador de mapa de bits), HDC (identificador de tabla de descripción de dispositivos), HICON (identificador de iconos), etc., entre los que se encuentra un identificador universal. , es HANDLE, como la siguiente declaración:
HINSTANCE hInstance;
se puede cambiar a:
HANDLE hInstance
El arriba 2 Cada frase es correcta.
Una aplicación WINDOWS puede obtener un identificador de un elemento específico de diferentes maneras. El valor de retorno de muchas funciones API, como CreateWindow, GlobalAlloc y OpenFile, es un valor de identificador. Además, WINDOWS también puede pasar un identificador como parámetro a la aplicación a través de la función de exportación de la aplicación. Una vez que la aplicación obtiene un identificador para un determinado elemento, puede operar en este identificador en cualquier lugar del entorno WINDOWS. De hecho, el uso extensivo de identificadores ha afectado todos los diseños de programación de WINDOWS.
Un identificador sólo adquiere significado cuando identifica de forma única un elemento. El identificador corresponde a un elemento en la tabla del proyecto, y solo WINDOWS puede acceder directamente a esta tabla. Las aplicaciones solo pueden manejar diferentes identificadores a través de funciones API. Por ejemplo: podemos solicitar un bloque de memoria para nuestra aplicación y devolver un valor de identificador llamando a la función API GlobalAlloc:
hMem=GlobalAlloc(...);
De hecho; , el valor de hMem ahora es solo un índice... >>
Pregunta 5: ¿Cuál es el "identificador de archivo" que se menciona a menudo en los libros? Un identificador es un número entero único utilizado por WINDOWS para identificar un objeto creado o utilizado por una aplicación. WINDOWS utiliza una variedad de identificadores para identificar aplicaciones como instancias de aplicaciones, ventanas, controles, mapas de bits, objetos GDI, etc.
Un identificador es un identificador que se utiliza para identificar un objeto o proyecto. Es como nuestro nombre. Cada persona tendrá uno, pero también puede haber uno. el mismo nombre que tú. Desde el punto de vista del tipo de datos, es solo un entero sin signo de 16 bits. Las aplicaciones casi siempre obtienen un identificador llamando a una función de WINDOWS, que luego pueden usar otras funciones de WINDOWS para hacer referencia al objeto correspondiente.
Es fácil entender los identificadores de archivos según este concepto.
Pregunta 6: ¿Qué es un identificador? 5 puntos Un identificador es una identificación de la definición de datos realizada por un programa del sistema, generalmente un número entero.
Los programas del sistema y los programas de usuario necesitan intercambiar datos para evitar transferir una gran cantidad de datos, especialmente si los usuarios no quieren manipular los datos directamente, el sistema utiliza un número para representar este conjunto de. datos (como un conjunto de datos relacionados con una ventana). Si el programa de usuario necesita modificar los datos, solo puede hacerlo a través de las funciones proporcionadas por el programa del sistema, así como el controlador de datos y los parámetros relacionados.
Es muy posible que un programa del sistema utilice la dirección de los datos como identificador, pero esto sólo es posible y depende completamente del programa que define el identificador.
Espero que esto se explique claramente.
Pregunta 7: Verifique qué identificadores de archivos se abren en Linux. Verifique los archivos abiertos por el proceso en /proc en el sistema Linux, correspondiente a cada proceso. es un directorio fd en este directorio. Cada archivo en este directorio es una conexión simbólica, y su nombre de archivo corresponde a un descriptor de archivo ocupado por el proceso, y el contenido al que apunta la conexión representa el archivo real correspondiente al descriptor de archivo. cuantos...
Pregunta 8: ¿Cuándo necesitas cerrar el identificador del archivo?
Pregunta 9: ¿Qué son exactamente los identificadores de Windows? Los identificadores son la base de toda la programación de Windows. Un identificador se refiere a un valor entero único, es decir, un valor de cuatro bytes de longitud, que se utiliza para identificar diferentes objetos en la aplicación y diferentes instancias de objetos similares, como una ventana, botón, icono, barra de desplazamiento, dispositivo de salida, control. o archivo, etc. La aplicación puede acceder a la información del objeto correspondiente a través del identificador, pero el identificador no es un puntero y el programa no puede utilizar el identificador para leer directamente la información del archivo. Si el identificador no se utiliza en el archivo de E/S, es inútil. Un identificador es un número entero único utilizado por Windows para marcar la creación o el uso de una aplicación. Windows utiliza una gran cantidad de identificadores para marcar muchos objetos.
La razón por la que Windows necesita configurar identificadores se debe fundamentalmente al problema del mecanismo de administración de memoria: la dirección virtual, en resumen, es necesario cambiar la dirección de los datos. para registrar el cambio de gestión (al igual que lo mismo que la gestión de registro de hogares), por lo que el sistema utiliza identificadores para registrar cambios en las direcciones de datos.
Después de cargar el objeto de datos en la memoria, obtiene la dirección, pero esta dirección no es fija (en cuanto a por qué y bajo qué circunstancias cambia, es necesario estudiar el principio y el mecanismo de lo virtual. direcciones Solo mencionaré esto aquí. Ejemplos que seguramente conoceremos) Los objetos de datos se moverán entre la memoria y el disco duro según sea necesario (por ejemplo, los datos que se usan con poca frecuencia cederán el espacio de memoria ocupado por los datos de uso común y luego se eliminarán). en la memoria virtual del disco duro para optimizar la configuración general de los recursos del sistema (mejorando así la eficiencia y el rendimiento), por lo que su dirección física siempre cambia. Como administrador, debe estar plenamente consciente de los cambios en los objetos administrados. el sistema asigna una dirección fija (identificador) al proceso para almacenar el proceso. La dirección modificada del objeto de datos también es la dirección actual. De hecho, el mecanismo de diseño es muy simple: después de que un departamento en el sistema mueve la dirección del. objeto, se informa al gerente del departamento al que pertenece el identificador y el gerente escribe los cambios en el identificador. Cuando se reutilicen los datos, basta con ir al identificador al que pertenecen y acceder a él según el contenido.
Handle, inglés: HANDLE, es un concepto muy importante en la programación de Windows y juega un papel importante en muchos lugares. Pero los conceptos de identificadores resultantes también son similares. Por ejemplo, el concepto de identificadores en el libro "Microsoft Windows 3 Developer's Workshop" (Microsoft Press, de Richard Wilton) es: En el entorno de Windows, los identificadores se utilizan para identificar proyectos.
En programación, un identificador es un puntero inteligente especial. Cuando una aplicación quiere hacer referencia a bloques de memoria u objetos administrados por otros sistemas (como bases de datos y sistemas operativos), se utilizan identificadores.
La diferencia entre un identificador y un puntero ordinario es que el puntero contiene la dirección de memoria del objeto al que se hace referencia, mientras que el identificador es un identificador de referencia administrado por el sistema, que puede reubicarse en una dirección de memoria mediante el sistema. Este modo de acceso indirecto a objetos mejora el control del sistema sobre el objeto al que se hace referencia.
En la gestión de la memoria de los sistemas operativos (como Mac OS y Windows) en la década de 1980, los identificadores se utilizaban ampliamente. Los descriptores de archivos en los sistemas Unix son básicamente identificadores. Al igual que otros entornos de escritorio, la API de Windows hace un uso extensivo de identificadores para identificar objetos en el sistema y establecer canales de comunicación entre el sistema operativo y el espacio del usuario. Por ejemplo, un formulario en el escritorio se identifica mediante un identificador de tipo HWND. Hoy en día, los aumentos en la capacidad de memoria y los algoritmos de memoria virtual han favorecido punteros más simples, mientras que los identificadores que apuntan a otro puntero han caído en desgracia. A pesar de esto, muchos sistemas operativos todavía se refieren a punteros a objetos privados e índices de matrices internos que un proceso pasa al cliente como identificadores.
Pregunta 10: ¿Qué significa handle? Explique en detalle. Handle es la ID de ventana utilizada por las herramientas de escritura y los complementos del juego. El proceso de la ventana del juego, como el asistente de botones, se utiliza para obtener. la ventana del juego (identificador) proceso ID E lenguaje Al escribir software, los identificadores se utilizan en muchos lugares y los aprenderá lentamente
.