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
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
-
Similar Threads
-
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.
- Top
Comment
-
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 lolLast edited by dwango; 03-09-2015, 16:11.
- Top
Comment
-
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.
- Top
Comment
-
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).
- Top
Comment
-
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.
- Top
Comment
X
Comment