Pergunta

Eu sempre tive esse sonho de criar um 'exe real' a partir de uma linguagem de script. Com o disponível de implementações baseadas em DLR do Python e Ruby, é isso ficando mais perto da realidade?

Eu gostaria de criar uma 'aplicação real':

  • um Windows App Forms
  • A Console App
  • um serviço do Windows

E tem a unidade de distribuição de ser um exe compilado.

Isso é possível? Ou tem MS acabou de criar intérpretes arquivo de script com base em .NET?

Se você está fazendo isso, como você estruturar seus aplicativos / projetos? Você está usando um híbrido de C # e código DLR?

Foi útil?

Solução

projeto Um IronPython ou IronRuby pode ser compilado para uma dll ou apenas multa executável e será executáveis ??'reais' em todos os sentidos com a condição de que a pessoa que executa-los deve ter o quadro e dependências .Net relevante instalado (dependências podem ser apresentar no mesmo diretório, por padrão, em vez, mas o quadro deve ser instalado). A integração com o Visual Studio ainda não está lá, mas projetos como IronPythonStudio usar o VS Shell livre para um bom efeito. A existência do DLR como uma dependência para c # dinâmica no VS 2010 deve significar que a integração com VS do Ferro * grupos torna-se uma meta mais fácil e uma maior prioridade.

O resultado não é de forma interpretado (a CIL é JITted em código de máquina em tempo de execução ou através ngen se desejado) e certos aspectos da DLR dizer algumas ações são diferidos de uma forma semelhante ao latebinding mas mais poderosa e crucialmente com algum mecanismos de cache sofisticados para permitir que este seja relativamente rápido em comparação com intérpretes ingênuos.

Muitas linguagens de script tradicionalmente interpretados estão criando suas próprias estratégias de compilação com base VM ou aqueles de alavancagem existentes (como o JVM, o .NET CLR ou as abertas como o LLVM ) desde isto leva a aumentos de desempenho significativos em muitos casos comuns.

No caso do ferro * línguas o benefício da MS CLR como base é que os executáveis ??resultantes 'apenas trabalhar' na grande maioria das instalações da família sistema operacional mais comum. Contraste com Java, onde um arquivo jar não é 'executável', clicando diretamente / ou 'execução' via shell em muitos sistemas operacionais. O outro lado disso é que isso reduz a interoperabilidade em comparação a dizer um JVM ou solução LLVM base onde o suporte da plataforma é mais amplo, mas, inevitavelmente, mais diversificada na integração OS.

Outras dicas

Você pode criar o exe de python regular usando Py2Exe . Mas não deve haver nada impedindo-o de criar exes com IronPython usando o Visual Studio ou SharpDevelop

embora não directamente relacionadas com ferro * questão, pode ser interessante para alguém que quer binários de scripts python: pyinstaller

Funciona em Windows (32-bit e 64-bit), Linux (32 bits e 64 bits) e Mac OS X (apenas 32 bits)

funciona em qualquer versão do Python de 1,5 até 2,7

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top