Guía de instalación y uso del entorno semifinal de NOI Linux 2.0 CSP Olympiad

La diferencia entre gente vieja y nueva.

Los siguientes son cambios que pueden causar que los hábitos que formó con la versión anterior de NOI Linux se anulen con la nueva versión.

  • GUÍA eliminada
  • De un sistema de 32 bits a uno de 64 bits, debe tener en cuenta que el puntero ahora ocupa 8 bytes en lugar de 4 bytes.
  • Versión actualizada del compilador
  • De forma predeterminada, la opción [Nuevo archivo] no está disponible al hacer clic derecho.
  • Cambiar el directorio del escritorio a chino puede provocar que algunos programas no se ejecuten.

Principales cambios

  • El sistema está basado en Ubuntu 20.04 (64 bits)
  • g++ actualizado a 9.3.0
  • Se agregaron muchos editores, como Sublime, VSCode, Code::Blocks.

Instalar

No hay diferencia con la versión anterior. Lo principal es que el sitio web oficial dice que desconecte la red durante la instalación. Puede desconectar la tarjeta de red virtual al instalar el software de la máquina virtual.

Editar: El sistema ahora se ha utilizado para CSP y NOIp. No está claro si las actualizaciones en línea varían de un centro examinador a otro y cómo implementar NOI. Si puede actualizar en línea, se recomienda encarecidamente utilizar VSCode e instalar el complemento C/C++ para programar.

catalogo chino

Si elige instalar este sistema en chino, el directorio del escritorio estará en chino.

Entonces esto trae muchos problemas. En primer lugar, te resulta muy complicado escribir en el terminal y, en segundo lugar, es posible que algunos programas no se puedan utilizar.

Por favor, no cree archivos de programación en el escritorio para evitar problemas innecesarios. Según mis pruebas, se sabe que habrá problemas con la compilación de Code::Blocks y Gedit.

Menú contextual para crear un nuevo archivo

Si es necesario, puedes ingresarlo en la terminal.

xdg-user-dirs-update --set TEMPLATES ~/Templates/
touch ~/Templates/newfile

Eso es todo.

Luego reinicie el administrador de archivos (puede ingresarlo a través de la terminal  killall nautilus) y encontrará que [Nuevo archivo] está nuevamente en el menú contextual.

fondo de pantalla

¿El fondo de pantalla predeterminado es un fondo de pantalla negro puro extremadamente feo? No importa, puedes ingresar a [Configuración - Fondo] para cambiarlo.

Hay fondos de pantalla interesantes, como este:

editor

Aparte, me gusta mucho GUIDE y no entiendo por qué se eliminó. Tal vez sea incómodo en muchos lugares, pero puede configurar opciones de compilación para cada archivo de forma independiente y no requiere configuración adicional. Para mí, Esto es realmente útil para los jugadores que cambian con frecuencia las opciones de compilación de su código.

En términos generales, no creo que deba tomar más de 5 minutos en la sala de examen configurar el entorno de edición. Especialmente para competiciones como NOI, no puedes tocar el teclado ni iniciar sesión en el sistema antes de que comience el examen, por lo que cualquier tiempo dedicado a configurar estas cosas consumirá tu tiempo efectivo de competencia. Recomiendo usar uno que se pueda configurar rápidamente y no sea obvio. Simplemente arrastre hacia abajo la eficiencia de la codificación. Por lo tanto, no presentaré aquí métodos de uso que requieran mucha configuración.

Además, creo que las fuentes predeterminadas de estos editores son bastante atractivas. Si no crees que se ven bien, puedes descubrir cómo cambiarlas tú mismo.

Además, algunos de los siguientes editores se congelarán al abrir archivos grandes. Pruébelos con atención y evite abrir muestras demasiado grandes sin guardar el código para evitar la pérdida de datos .

Si está realmente atascado, esta versión de Ubuntu mostrará un mensaje que no responde después de un tiempo suficiente. En la mayoría de los casos, no es necesario hacerlo manualmente. Por supuesto, si no escuchas  killall y hay códigos no guardados. en él solo te queda esperar un poco más, espera unos minutos para ver si se puede restaurar y luego guárdalo rápidamente, si no, envíalo completo.

Código VS

Desafortunadamente, el complemento VSCode C/C++ proporcionado por CCF es una versión de instalación en línea, que es completamente inutilizable en competencias reales, así que... ¿Escuché que quieres un VSCode súper fácil de usar? ¡De ninguna manera!

Dicho esto, también se puede utilizar VSCode sin Intellisense y Debug. Aunque la compilación requiere escribir manualmente en la línea de comando y la depuración requiere la línea de comando gdb, aún es posible en términos de resaltado de sintaxis, sangría automática y finalización de corchetes.

Por supuesto, también puedes escribir JSON a mano para implementar instrucciones de compilación y ejecución. No entraré en detalles. Es bastante complicado. Solo búscalo en línea.

También puedes jugar con un montón de cosas en la configuración, la más útil es el guardado automático.

Vale la pena mencionar que su función de búsqueda incorporada es muy fácil de usar y muy efectiva a la hora de buscar nombres duplicados de variables. Los tres interruptores de la derecha representan respectivamente si se distinguen entre mayúsculas y minúsculas, si se fuerza la búsqueda de palabras (con caracteres en blanco en ambos lados) y si se habilitan expresiones regulares.

Básicamente, el uso normal es así, usando el terminal incorporado para compilar y ejecutar todos los archivos.

ventaja
  • Tiene resaltado de sintaxis simple y una buena experiencia de edición.
  • Tiene su propio administrador de archivos, que puede crear archivos nuevos fácilmente.
  • Casi no se requiere configuración
  • Trae tu propia terminal
defecto
  • No viene con una función de compilación. Si se implementa, se requiere JSON escrito a mano.
  • Sin función de depuración incorporada

Texto sublime

¿Se siente similar a la experiencia VSCode? Sin embargo, viene con sus propias instrucciones de compilación de un solo archivo. Pero no lo he usado, así que no comentaré mucho.

Pero se siente muy similar a VSCode: si desea personalizar la compilación, debe escribir JSON a mano.

ventaja
  • Tiene resaltado de sintaxis simple y una buena experiencia de edición.
  • Casi no se requiere configuración
defecto
  • La modificación de las opciones de compilación requiere JSON escrito a mano
  • Sin función de depuración incorporada

Geany

Geany básicamente funciona de inmediato, pero hay algunos complementos que puedes activar y que creo que son geniales.

[Herramientas-Administrador de complementos] Puede abrir complementos en él

Algunos útiles son:

  • 【Cierre automático】 Finalización del soporte
  • 【Marca automática】resaltado de símbolo

F9 para compilar, F5 para ejecutar, aparecerá una terminal cuando se ejecute, tenga en cuenta que no hay compilación + ejecución, debe presionar ambos.

Las opciones de compilación se pueden configurar en [Generar-Configurar comando de compilación].

Sin embargo, una de las cosas más problemáticas es que las pantallas de Advertencia y Error son las mismas, así que eche un vistazo.

Luego puede hacer clic en las flechas hacia arriba y hacia abajo en la columna de abajo que dice compilador. Cuando haga clic en él, habrá una terminal incorporada en la parte inferior. También puede estirar la columna inferior para mostrarlo todo.

ventaja
  • Tiene resaltado de sintaxis simple y una buena experiencia de edición.
  • Casi no se requiere configuración
  • Trae tu propia terminal
defecto
  • Sin función de depuración incorporada

Código::Bloques

Debido a que esto parece venir con depuración incorporada, me concentré en investigarlo.

En primer lugar, si abre un solo archivo, solo hay opciones de compilación predeterminadas y no se pueden depurar, por lo que es inevitable crear un nuevo archivo de proyecto.

Primero seleccione [Archivo-Nuevo-Proyecto-Aplicación de consola] para crear un nuevo proyecto, luego seleccione el nombre de la pregunta como título y luego seleccione el directorio principal de la carpeta para almacenar la pregunta especificada por su competencia en la Carpeta y salga. el resto por defecto.

Entonces tienes un proyecto. En primer lugar, encontrará que crea un main.cpp para usted. Debido a que las competiciones OI generalmente requieren un nombre fijo para recopilarlo correctamente, debe cambiar el nombre. Primero, cierre este archivo. Luego haga clic derecho en el archivo de la izquierda, seleccione [Cambiar nombre de archivo...] y cámbielo por el nombre de la pregunta.

Luego, se realiza la configuración básica.

El siguiente paso es cómo configurar las opciones de compilación. Esta vez, haga clic derecho en el icono del proyecto a la izquierda y luego haga clic en [Propiedades...].

Luego haga clic en [Construir objetivos], haga clic en [Opciones de compilación...] en esta página y podrá configurar las opciones de compilación para [Depurar] y [Liberar] respectivamente, y estas dos cosas pueden entenderse como dos modos. Durante la competencia, puede usar [Depurar] como el que tiene opciones similares activadas  -g para solucionar problemas, y las opciones de compilación que se muestran en la página de preguntas [Versión] reflejan el efecto real. (Por supuesto, también puede usar [Agregar] a la izquierda para agregar más modos según sus necesidades).

Por supuesto, no es necesario utilizar las opciones proporcionadas. Puede utilizar [Otras opciones del compilador] en la siguiente columna para escribir directamente.

Entonces, ahora que está configurado, puede cambiar el modo de compilación en el cuadro de opciones superior y luego presionar el engranaje amarillo y la flecha verde para representar compilar, ejecutar y compilar y ejecutar respectivamente.

Luego, la flecha roja a la derecha puede comenzar a depurar. Al depurar, puede hacer clic en [Relojes] en el ícono con un error en la computadora en el lado derecho del cuadro de depuración para abrir las variables para ver. Tenga en cuenta que la compilación debe estar habilitada durante la depuración  -g (compilación en modo [Depuración])

En resumen, el uso específico es bastante complicado: después de todo, este es un IDE enorme y puedes explorarlo tú mismo.

Por supuesto, también puedes usarlo para depurar, crear un nuevo proyecto y dejar otras configuraciones sin cambios. Si es necesario, puedes copiar el código y ajustarlo. Esto también es posible. De todos modos, este parece ser el único que se puede utilizar para depurar.

ventaja
  • Viene con función de depuración
  • Con un resaltado de sintaxis simple, la experiencia de edición está bien
defecto
  • La sangría automática puede ser un poco extraña (?)
  • La configuración es problemática, debe configurar un proyecto. Relativamente voluminoso.

otro

Vim y gedit (ahora llamados editores de texto) y Emacs todavía están ahí. Sólo sigue usándolos si te gustan. No debería haber muchos cambios.

Resumir

Se proporciona VSCode, pero no se proporciona ningún complemento VSCode C/C++ que pueda usarse normalmente.

traductor

El compilador se ha actualizado a g++ 9.3.0 ¿Qué se puede hacer?

Potente desinfectante

Agregar la opción de compilación  -fsanitize=address,undefined le permite experimentar una excelente experiencia de verificación de RE y UB.

Por supuesto, si el compilador y el vinculador están separados, debe agregarlos al vinculador  -lasan -lubsan antes de poder usarlos (consulte Código :: Bloques).

Se puede realizar: matriz fuera de límites RE directo, desbordamiento de entero con signo RE directo,  void función cuyo valor de retorno no es  igual return a devolver RE directo... En resumen, puede verificar RE y UB, y puede decirle en qué línea está el error. es  . Créame, es adictivo.

mejoramiento

La optimización del compilador es más inteligente, aunque la percepción puede no ser muy sólida.

C++14/17

¿Debería utilizarse en competiciones oficiales en el futuro?

Editar: Confirmado: C++14 se utilizará en el futuro

Árbitro

¿El árbitro parece haber sido actualizado? Déjame ver la diferencia.

El límite máximo de memoria se ha cambiado de 512 MB a 2048 MB. Sin embargo, esto parece haber sido modificado internamente (consulte el límite de espacio anterior de 1 GB en NOI).

Parece que el icono también ha sido cambiado.

Entonces no parece haber diferencia.

Comandos de terminal

Básicamente no ha cambiado y se puede utilizar todo lo que se utiliza habitualmente. No puedes usar nada que no funcione, excepto...

ssh

Feliz de escuchar y ver.jpg

De hecho,  ssh el comando no se ha eliminado, pero el servicio ssh no está abierto, es decir, aún puede enviar ssh a otros sistemas, pero este sistema no puede acceder a ssh.

Intenté abrir una red para la máquina virtual y la máquina física para probarla, pero no funcionó.

Supongo que te gusta

Origin blog.csdn.net/abilix_tony/article/details/131949315
Recomendado
Clasificación