Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

[Dúvida] código em c não precisa compilar em todos PCs

Collapse
X
 
  • Filter
  • Tempo
  • Show
Clear All
new posts

  • Font Size
    #1

    C / C++ [Dúvida] código em c não precisa compilar em todos PCs

    Alguém sabe se é possivel fazer um codigo em C que não precisa ficar compilando em todos os computadores que for executar, pq queria compilar uma unica vez fazer esse executavel rodar em windows ou linux indepedente da arquitetura do processador
    Similar Threads

  • Font Size
    #2
    Vc consegue colocar o chassi de um ônibus em um fusca? Acho que não...

    Comment


    • Font Size
      #3
      Em um único executável daria trabalho, mas existem os cross compilers, da uma olhada.
      Yes, I am a criminal. My crime is that of curiosity. My crime is
      that of judging people by what they say and think, not what they look like.
      My crime is that of outsmarting you, something that you will never forgive me
      for.

      I am a hacker, and this is my manifesto. You may stop this individual,
      but you can't stop us all... after all, we're all alike.

      Comment


      • Font Size
        #4
        O cross-compiler não eh bem assim, ele apenas consegue linkar do sistema nativo - onde foi compilado - pra um alvo, e não em todas as arquiteturas... A dúvida do rapaz era pra rodar tanto em Windows como em qualquer derivado do Linux, então, não eh possível.
        Fora que dependendo do código, eles dão uma baita dor de cabeça com as bibliotecas lol
        Last edited by dwango; 03-09-2015, 16:11.

        Comment


        • Font Size
          #5
          Citei o cross compiler por ser uma, se não, a única alternativa viável para ele, btw, em todos os sistemas um código em C nunca vai rodar, se ele realmente quiser isso vai ter que usar uma linguagem multiplataforma com VM's rodando o código para ele.
          Yes, I am a criminal. My crime is that of curiosity. My crime is
          that of judging people by what they say and think, not what they look like.
          My crime is that of outsmarting you, something that you will never forgive me
          for.

          I am a hacker, and this is my manifesto. You may stop this individual,
          but you can't stop us all... after all, we're all alike.

          Comment


          • Font Size
            #6
            De forma geral o problema nem é tanto com a compilação, já que o hoje a libc é bem padronizada e vamos falar a verdade, tem Intel no Mac, no Linux e no Windows, então teoricamente as chamadas para o processador são identicas (se for Intel é claro), o que complica mesmo são as systemcall's e a forma com que o executavel é empacotado, o que você pode fazer é o que o Java fez , cria diferentes versões de um software que le uma linguagem de programação, nem que seja C mesmo e reinterpreta isso.

            De forma geral não é vivavel, não é útil, não compensa, mas se tu quiser tentar.

            Quem faz muito isso são jogos, tem um famoso simulador de guerra que aceita mods em C++ sem serem compilados e ele faz uma pseudo compilação em tempo de execução (não é bem compilação mas o processo chega bem próximo).

            Comment


            • Font Size
              #7
              No caso do C não é possível fazer isto, já que o C é compilado. Cada sistema operativo tem suas próprias bibliotecas e system calls.

              Comment

              X
              Working...
              X