Herramienta de aprendizaje de Linux Cygwin bajo Windows

  
 

Cygwin es un entorno de simulación UNIX que se ejecuta en la plataforma Windows, es Cygnus Solutions desarrolladas por el software libre (que ha desarrollado una gran cantidad de cosas buenas, hay la famosa eCos, pero Redhat ahora ha sido adquirida). Es muy útil para aprender el entorno operativo Unix /Linux, o para trasladar aplicaciones de Unix a Windows, o para realizar un trabajo de desarrollo especial, especialmente utilizando el conjunto de herramientas gnu para el desarrollo de sistemas integrados en Windows. Con la creciente popularidad del desarrollo de sistemas integrados en China, cada vez más desarrolladores están interesados ​​en cygwin. Este artículo lo introducirá.

1 El mecanismo cygnus primero mejoró las herramientas de desarrollo como gcc, gdb y gas, para que puedan generar y explicar los archivos de destino de win32. Luego tienen que portar estas herramientas a la plataforma de Windows. Una solución es realizar cambios significativos en el código fuente de estas herramientas basadas en la API de win32, que obviamente requiere mucho trabajo. Por lo tanto, se tomaron un enfoque diferente y mdash; — escribieron una biblioteca compartida (es decir, DLL cygwin), la llamada al estilo Unix no API de Win32 (como horquillas, freza, señales, seleccione, tomas de corriente, etc.) paquete En el interior, es decir, escribieron una capa de simulación de la biblioteca del sistema Unix basada en win32 api. Por lo tanto, al vincular el código fuente de estas herramientas a esta biblioteca compartida, puede usar el compilador cruzado en el host de Unix para generar un conjunto de herramientas que pueden ejecutarse en la plataforma Windows. Basándose en estas herramientas de desarrollo portadas a la plataforma Windows, cygnus migró gradualmente otras herramientas (casi necesita modificar el código fuente, solo necesita modificar sus scripts de configuración) para portar el software. De esta manera, ejecutar bash y las herramientas de desarrollo y las herramientas de usuario en la plataforma de Windows se siente como trabajar en Unix. Es una buena herramienta de aprendizaje de Linux! ! Cygwin implementado en la descripción más detallada, por favor refiérase http://cygwin.com/cygwin-ug-net/highlights.html.

2. instalación de Cygwin proporciona 2.1 Instalación Para instalar la versión de red cygwin, siendo Http://cygwin.com, haga clic en " Instalar Cygwin ahora! &Quot;. Esto primero descargará un instalador de GUI llamado setup.exe, que se puede usar para descargar un completo cygwin. Siga las instrucciones en cada pantalla para una fácil instalación. 2.2 Variables de entorno Antes de iniciar bash, debe establecer algunas variables de entorno. Cygwin proporciona un archivo .bat con las variables de entorno más importantes establecidas. Es la forma más segura de comenzar a golpearlo. Este archivo .bat se instala en el directorio raíz donde se encuentra cygwin. Siéntase libre de editar este archivo. La variable CYGWIN se utiliza para realizar múltiples configuraciones globales para el sistema de tiempo de ejecución de cygwin. Al principio, o no puede ser proporcionado CYGWIN golpe antes de realizar un formato similar en el bloque siguiente para configurarlo DOS TTY C: \\ > establecer CYGWIN = tty notitle glob

variable PATH se utiliza como un cygwin aplicación Busque una lista de rutas a los archivos inteligentes. Cygwin cuando se inicia un proceso, que es variable de formato de ventanas (por ejemplo, C: \\ WINNT \\ system32; C: \\ WINNT) convierte en un formato UNIX (por ejemplo, /WinNT /system32: /WinNT). Si usted quiere ser capaz de utilizar cuando no se está ejecutando para golpear herramientas cygwin, al menos PATH incluye el directorio x: \\ cygwin \\ bin, donde x: directorio de cygwin \\ cygwin su sistema. La variable HOME se usa para especificar el directorio de inicio. Se recomienda definir esta variable antes de ejecutar bash. Cuando se inicia el proceso cygwin, la variable también se convierte en el formato de UNIX desde el formato de Windows, por ejemplo, HOME en la máquina del autor es C: \\ (conjunto de comandos DOS CASA se puede ver su valor, establecer HOME = XXX puede ser Establecer), use echo $ HOME en bash, el valor es /cygdrive /c. La variable TERM especifica el tipo de terminal. Si está configurado por los EE. UU., Se configurará automáticamente como cygwin. LD_LIBRARY_PATH es utilizado por la función cygwin dlopen () como una lista de rutas para buscar archivos .dll. Esta variable también se convierte de formato Windows a formato UNIX. La mayoría de las aplicaciones de Cygwin no usan dlopen, por lo que esta variable no es necesaria. 2.3 Cambio de la capacidad de almacenamiento máxima de cygwin La memoria predeterminada asignada por el programa Cygwin no supera los 384 MB (programa + datos). En la mayoría de los casos, no es necesario modificar este límite. Sin embargo, si necesita más memoria real o virtual, debe modificar la sección HKEY_LOCAL_MACHINE o HKEY_CURRENT_USER del registro. Tian Jia tiene una clave DWORD heap_chunk_in_mb y establece su valor en el límite de memoria requerido en megabytes decimales. Esto también se puede hacer con regtool en cygwin. Ejemplos son los siguientes :. Regtool -i fija /HKLM /Software /Cygnus \\ Soluciones /Cygwin /1024 heap_chunk_in_mb lista regtool -v /HKLM /Software /\\ Cygnus Soluciones /Cygwin

3 Utilice esta sección para hablar de cygwin y cygwin La diferencia entre los sistemas tradicionales de Unix. 3.1 Asignación de nombres de ruta 3.1.1 Introducción cygwin admite rutas win32 y posix. El separador de ruta puede ser una barra diagonal o una barra diagonal inversa. Los nombres de ruta UNC también son compatibles. Método (en la red, la UNC es un método para determinar la ubicación de un archivo, usando este método, el usuario puede no preocuparse por la ubicación física del dispositivo de almacenamiento, comodidad a los usuarios. Caozuoxitong Hoteles en Windows
, Novell Netware y otra Caozuoxitong
en esta especificación se han utilizado para reemplazar el sistema de nombres local. en la UNC, no nos importa lo que el archivo en el disco (o volumen), no se preocupan por este disco ( . o volumen) donde el servidor en cualquier lugar, siempre y cuando podemos acceder a los siguientes formatos de archivo: \\\\ servidor \\ recurso \\ ruta \\ nombre de recurso compartido nombre del archivo es también llamado a veces un volumen lógico identifica el fichero o dispositivo de almacenamiento se encuentra, pero utilizando Su propósito es evitar que los usuarios tengan que preocuparse por la ubicación física de estos volúmenes o dispositivos de almacenamiento. Los sistemas operativos (como Linux) que cumplen con el estándar de posix no tienen el concepto de letra de unidad. Todas las rutas de acceso absolutas comienzan con una barra diagonal, no una letra de unidad (como c :). Todos los sistemas de archivos son subdirectorios de ellos. Por ejemplo, dos discos duros, uno de los cuales es la raíz y el otro puede estar en la ruta /disk2. Debido a que muchos programas en sistemas Unix asumen una única estructura de sistema de archivos posix, cygwin mantiene específicamente una vista interna posix para el sistema de archivos win32, permitiendo que estos programas se ejecuten correctamente en Windows. En algunos casos, cygwin usará este mapeo para convertir entre las rutas de win32 y posix. 3.1.2 tabla de montaje cygwin El programa mount en cygwin se utiliza para asignar letras de unidad win32 y rutas de red compartida al árbol de directorios interno de posix de cygwin. Este es un concepto similar al típico programa de montaje de Unix. Para aquellos que no están familiarizados con Unix y tienen experiencia en Windows, el programa de montaje es muy similar a la combinación anterior del comando dos, que utiliza una letra de unidad como un subdirectorio de otras rutas. La información de asignación de ruta se almacena en la tabla de montaje cygwin del usuario actual, que se encuentra en el registro de Windows. De esta manera, cuando el usuario inicia sesión la próxima vez, la información se recupera del registro. Hay dos tipos de tablas de montaje. Además de cada tabla específica del usuario, hay una tabla de montaje de todo el sistema. La tabla de instalación de cada usuario cygwin se hereda de la tabla del sistema. Las tablas del sistema solo pueden ser modificadas por usuarios con los permisos adecuados (administradores de Windows NT). La tabla de montaje del usuario actual se puede ver en el registro " HKEY_CURRENT_USER /Software /Red Hat, Inc./Cygwin/mounts v " La tabla del sistema existe bajo HKEY_LOCAL_MACHINE. La ruta raíz de posix /puntos predeterminados a la partición del sistema, pero puede usar el comando mount para redirigir a cualquier ruta en el sistema de archivos de Windows. Cuando cygwin genera una ruta de acceso posix desde la ruta de win32, siempre usa el prefijo más largo en la tabla de montaje. Por ejemplo, si c: se instala en la c /y /, se cygwin C: /foo /bar convierte a /c /foo /bar Si no hay argumentos llaman comando mount, la corriente Cygwin conjunto de puntos de instalación de todas las columnas. Fuera En el ejemplo a continuación, la unidad c es la raíz POSIX y la unidad d se asigna a /d. En este caso, la raíz es un punto de instalación de todo el sistema que es visible para todos los usuarios, y /d solo es visible para el usuario actual. c: \\ > montar f: \\ cygwin \\ bin en /usr /sistema de tipo bin (binmode) f: \\ cygwin \\ lib en el sistema /usr /lib tipo (binmode) f: \\ cygwin en el sistema /tipo (binmode) e : \\ src en /usr /sistema de tipo src (binmode) c: on //tipo de usuario cygdrive c (binmode, noumount) e: encendido /cygdrive /e tipo de usuario (binmode, noumount) también puede utilizar el comando mount para agregar la nueva instalación Punto, use umount para eliminar el punto de montaje. Cuando Cygwin no de acuerdo con los puntos de montaje existentes en el camino de un camino Win32 POSIX, Cygwin convierte automáticamente a un punto en una ruta de instalación predeterminada POSIX /cygdrive de ejemplo, si el acceso Cygwin Z :. \\ Foo, y el disco Z no se encuentra actualmente en la tabla de instalación, luego Z: \\ se convertirá automáticamente a /cygdrive /Z. Cada punto de instalación puede recibir propiedades especiales. La partición instalada automáticamente se muestra como instalación de " auto ". El punto de montaje también se puede seleccionar como "modo de texto" o "modo de bin", lo que determina si el archivo de texto y el archivo binario se procesan de la misma manera. 3.1.3 Otra información relacionada con la ruta La herramienta cygpath proporciona la capacidad de convertir el formato de ruta win32-posix en un script de shell. PRINCIPAL, trayectoria, y el medio ambiente LD_LIBRARY_PATH variables se convierten automáticamente a partir de formato POSIX formato Win32 (por ejemplo, si hay una trayectoria de la trayectoria de Win32 posix al título, será CYGWIN c cuando se inicia el proceso: \\ cygwin \\ bin en /Bin).

Copyright © Conocimiento de Windows All Rights Reserved