Instalación y uso del compilador de Cb: "compilador de fabricación propia"

Instalación y uso del compilador de Cb: "compilador de fabricación propia"

Descarga el compilador de Cb

Instalar el compilador de Cb

  • Copie cbc-1.0.tar.gz en la máquina virtual y descomprímalo;

  • Si tiene privilegios de root en la máquina virtual, vaya directamente a la carpeta cbc y ejecute el archivo de secuencia de comandos ./install.sh;

    tar xzf cbc-1.0.tar.gz
    cd cbc-1.0
    su
    ./install.sh
    
  • Si no tiene privilegios de root en la máquina virtual, o no desea instalar con privilegios de root, después de ingresar a la carpeta cbc, modifique primero el archivo install.sh y prefix="${1:-/usr/local/cbc}"modifique la primera línea a un directorio al que pueda acceder, por ejemplo prefix="/home/IC/cbc", ejecute el archivo de secuencia de comandos;

  • Después de ejecutar el script, cbc se ha instalado en la carpeta correspondiente;

Prueba el compilador de Cb

  • Escriba el archivo de programa Cb hello.cb:

    import stdio;
    
    int
    main (int argc,char **argv){
          
          
        printf("Hello, World!\n");
        return 0;
    }
    
  • Para usar un compilador para compilar un programa, debe especificar la ubicación de cbc:

    /home/IC/cbc/bin/cbc hello.cb
    
  • Al compilarInformar un error, El mensaje de error es el siguiente: (bajo la premisa de asegurar que el programa no tenga errores)

    hello.s: Assembler messages:
    hello.s:9: Error: suffix or operands invalid for `push'
    hello.s:12: Error: suffix or operands invalid for `push'
    hello.s:19: Error: suffix or operands invalid for `pop'
    cbc: error: as failed. (status 1)
    cbc: error: compile error
    
  • La solución , debido a que mi sistema es de 64 bits y el código de ensamblaje es de 32 bits, consulte el blog: https://blog.csdn.net/jackailson/article/details/82192273?utm_source=blogxgwz6

    as hello.s -o hello.o
    gcc hello.o -o hello
    ./hello
    
  • Sigue corriendoInformar un error, El mensaje de error es el siguiente:

    Segmentation fault
    
  • Debería ser porque Cbc es demasiado antiguo y no es aplicable en la nueva máquina. No es fácil de resolver. ¡Por favor, tómese el tiempo para llenar el agujero!

Supongo que te gusta

Origin blog.csdn.net/weixin_41754258/article/details/112643842
Recomendado
Clasificación