Jump to content
Fórum Script Brasil
  • 0

Compilador C


KR0NU5

Question

Olá!

Estou aprendendo Linguagem C, e na hora de compilar o arquivo .c, toda vez tenho que abrir o Terminal, ir na pasta onde está o arquivo e digitar: gcc arquivo.c -o arquivo.

Para não ter que fazer isso toda vez, decidi criar um compilador em Linguagem C. Então desenvolvi o seguinte código:

int main()
{
    char nomearquivo[100];
    char nomeexecutavel[100];
    printf("Digite o nome do arquivo a ser compilador SEGUIDO DE .C:\n");
    gets (nomearquivo);
    printf("Digite o nome do executável:\n");
    gets (nomeexecutavel);
    system ("gcc %s -o %s", nomearquivo, nomeexecutavel); //Esta linha
    return(0);
}

O problema é que na linha do system. Onde estão os "%s" não são substituído por "nomearquivo" nem "nomeexecutavel".

Teria algum erro nesse código?

Quem souber responde ae plz! :mellow:

Edited by kuroi
Adicionar tag CODE
Link to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 0

Bom dia KRONU5, a um tempo atras fiz um script que fazia a mesma coisa e tive o mesmo problema que você, para resolver este problema usei o comando "sprintf " para montar a string completa depois executei com o "system()"

ex:

char nomearquivo[100];

char nomeexecutavel[100];

char comp[100];

printf("Digite o nome do arquivo a ser compilador SEGUIDO DE .C:\n");

gets (nomearquivo);

printf("Digite o nome do executável:\n");

gets (nomeexecutavel);

sprintf(comp,"gcc %s -o %s", nomearquivo, nomeexecutavel);

system(comp);

return(0);

Posta se funcionar, estou no rwindows e não pude testar falou

Link to comment
Share on other sites

  • 0
Bom dia KRONU5, a um tempo atras fiz um script que fazia a mesma coisa e tive o mesmo problema que você, para resolver este problema usei o comando "sprintf " para montar a string completa depois executei com o "system()"

ex:

char nomearquivo[100];

char nomeexecutavel[100];

char comp[100];

printf("Digite o nome do arquivo a ser compilador SEGUIDO DE .C:\n");

gets (nomearquivo);

printf("Digite o nome do executável:\n");

gets (nomeexecutavel);

sprintf(comp,"gcc %s -o %s", nomearquivo, nomeexecutavel);

system(comp);

return(0);
Posta se funcionar, estou no rwindows e não pude testar falou
Como faço para criar um compilador no code blocks.... Fiz umas linhas de codigo até que leu mas depois escrevi mas linhas ele diz que tem conflito de tipos. eu tenho pouco conhecimento em c... e tem alguns erros no programa, o ruim é que eu não tenho ninguém pra me ajudar nas dicas.
/* gera código para armazenamento de variável */
        void asm_allocvar(char name, char type)
        {
                int btype; /* tamanho em bytes */

                switch (type) {
                  case 'b':
                  case 'w':
                        btype = type;
                        break;
                  case 'l':
                        btype = 'd';
                        break;
                }
                printf("%c d%c 0\n", name, btype);
        }

vocês poderiam me ajudar com alguma dica se precisar me diga que eu coloco o codigo inteiro.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652.1k
×
×
  • Create New...