domingo, 29 de dezembro de 2013

Compilador Experimental

Este Compilador experimental pode ser testado e utilizados por iniciantes em linguagem C.
O programa compila por linha de comando, e os compiladores usados foram o g++ do MinGW, e o g++ do Borland.
Está mais que claro que o utilizador deste programa precisa ter estes compiladores instalados e configurados corretamente no computador pra que este programa possa funcionar.
Você pode observar que na linha de comando do g++ do MinGW, já estão
lincados as bibliotecas libconio.a para chamar a biblioteca conio2.h, ncurses adaptada para o windows e as libs, da biblioteca graphics.h.
Note nas imagens que o mesmo programa foi utilizado para testes, e que no compilador do MinGW,
saiu colorido, no da Borland ficou em vermelho, isto porque no borland, teria que usar a função printf(); com c no início, Ex: cprintf();
Alterações podem ser feitas, adaptações, melhoramentos, em fim, depende da criatividade de cada um, o ponta pé inicial foi dado, quem quiser, pode continuar com o jogo.

Veja algumas imagens do Programa em Execução:







Veja o código do programa abaixo:

#include <stdio.h>
#include <conio.h>
#include <windows.h>
void Abre();void Fecha();int main();
void Janela5(){
    int lin, col;
    for ( lin = 0; lin <= 25; lin++ ){
        for ( col = 0; col <= 80; col++ ){
            gotoxy( col, lin );
            if ( lin == 2 ){textbackground(LIGHTBLUE);printf( " ");}
            if ( col == 1 ){textbackground(LIGHTBLUE);printf(" ");}
            if ( lin == 25 ){textbackground(LIGHTBLUE);}
            if ( col == 80 ){textbackground(LIGHTBLUE);printf(" ");}
        }
    }textbackground( BLACK );
}
void Cria_MinGW(){
    system("cls");Janela5();
    textcolor(LIGHTRED);gotoxy(31,3);printf ("Compilador Experimental");
    textcolor(LIGHTBLUE);gotoxy(31,5);printf ("Compilando com o MinGW");
    textcolor(YELLOW);gotoxy(29,7);printf ("Criando um novo executavel");
    printf ("\n\n");textcolor(LIGHTGREEN);
    system("g++ -ansi -pedantic -Wall main.cpp -o main -lconio -lcurses -lbgi -lgdi32 -lcomdlg32 -luuid -loleaut32 -lole32 ");getche();
    Abre();
}
void Cria_Borland(){
    system("cls");Janela5();
    textcolor(LIGHTRED);gotoxy(31,3);printf ("Compilador Experimental");
    textcolor(LIGHTBLUE);gotoxy(31,5);printf ("Compilando com o Borland");
    textcolor(YELLOW);gotoxy(29,7);printf ("Criando um novo executavel");
    printf ("\n\n");textcolor(LIGHTGREEN);
    system("bcc32 -Lc:\Borland\BCC55\lib -Ic:\Borland\BCC55\include main.cpp");
    getche();
    Abre();
}
void Abre(){
    system("cls");Janela5();
    textcolor(LIGHTRED);gotoxy(31,3);printf ("Compilador Experimental");
    textcolor(LIGHTBLUE);gotoxy(31,5);printf ("Abrindo o executavel");
    system("start main.exe");
    getche();
    Fecha();
    getche();
    main();
}
void Fecha(){
    system("cls");Janela5();
    textcolor(LIGHTRED);gotoxy(31,3);printf ("Compilador Experimental");
    textcolor(LIGHTBLUE);gotoxy(31,5);printf ("Fechando o executavel");
    printf ("\n\n");
    system("taskkill.exe /IM main.exe");
}
int main(){
    system ("title COMPILADOR EXPERIMENTAL");
    int opc;
    system("cls");do{Janela5();
    textcolor(LIGHTRED);gotoxy(31,3);printf ("Compilador Experimental");
    textcolor(LIGHTBLUE);gotoxy(34,5);printf ("Escolha uma opcao ");
    textcolor(LIGHTRED);gotoxy(26,7);printf("[ 1 ]");
    textcolor(YELLOW);gotoxy(33,7);printf ("Para Compilar com MinGW");
    textcolor(LIGHTRED);gotoxy(26,9);printf("[ 2 ]");
    textcolor(YELLOW);gotoxy(33,9);printf ("Para Compilar com Borland");
    textcolor(LIGHTRED);gotoxy(26,11);printf("[ 3 ]");
    textcolor(YELLOW);gotoxy(33,11);printf ("Para Sair");
    textcolor(LIGHTRED);gotoxy(33,13);
    scanf("%d", &opc);fflush ( stdin );
    if (opc == 1){
        Cria_MinGW();
    }
    if (opc == 2){
        Cria_Borland();
    }
    if (opc == 3){
        textcolor(LIGHTCYAN);gotoxy(35,22);printf("O ROCCO AGRADECE!");
        Sleep(1800);exit(0);
    }
    else{
        textcolor(LIGHTCYAN);gotoxy(37,20);printf("\aOPCAO ERRADA");
        Sleep(1800);system("cls");
    }
    }while( 1 );
}


Nenhum comentário:

Postar um comentário

Observação: somente um membro deste blog pode postar um comentário.