Pergunta

Existe uma linguagem de script para C ++ (como perl) que pode ser usado para o desenvolvimento rápido e usar alguma ferramenta que pode converter em programa C / C ++ para obter maior desempenho para implantação?

EDIT:
Com base em algumas comentou, deixe-me esclarecer a questão. Eu deveria ser capaz de converter script em programa ou binário C / C ++ sem modificar meu script.

Foi útil?

Solução

Com um C / C ++ intérprete você pode usar C / C ++ como linguagem de script


Nota: Até agora, eu tentei única Ch e CINT . Eu adicionei ccons e UnderC para fazer a lista mais completa.

Outras dicas

Você pode tentar Lua muitas vezes usado com C ++ na indústria de jogos. Tem uma pegada pequena da memória e é bastante maduro, tem uma grande biblioteca ... apenas dar-lhe uma tentativa.

hm ... Eu não entendo o que você quer alcançar: quer encontrar uma linguagem de script que, de alguma forma, magicamente ser convertido em fonte c ++? Ou o que você realmente quer é apenas uma opção para criar um executável a partir do script? Se o último - então você pode tentar Py2Exe .

Qualquer pessoa interessada em uma linguagem de script que é (principalmente) muito semelhante a C ++, pode querer dar uma olhada AngelScript (ZLIB):

O Scripting Biblioteca AngelCode, ou AngelScript como também é conhecido, é uma biblioteca de scripting cross-plataforma extremamente flexível projetada para permitir que os aplicativos para estender sua funcionalidade através de scripts externos. Ele foi projetado desde o início para ser um fácil de usar componente, tanto para o programador da aplicação e do escritor script.

Foram feitos esforços para deixá-lo chamar funções C padrão e métodos C ++ sem a necessidade de funções de proxy. O aplicativo simplesmente registra as funções, objetos e métodos que os scripts devem ser capazes de trabalhar com e nada mais tem que ser feito com o seu código. As mesmas funções utilizadas pela aplicação internamente também pode ser usado pelo mecanismo de script, o que elimina a necessidade de funcionalidade duplicada.

Para o roteirista a linguagem de script segue a sintaxe amplamente conhecida de C / C ++ (com pequenas alterações), mas sem a necessidade de se preocupar com ponteiros e vazamentos de memória. Ao contrário da maioria das linguagens de script, AngelScript usa o C comum tipos de dados / C ++ para uma comunicação mais eficiente com o aplicativo host.

Para obter mais informações, confira: http: // www. angelcode.com/angelscript/sdk/docs/manual/index.html

Muitos projetos combinar por exemplo C ++ e Python - ver, por exemplo boost.python .

Eu prefiro R e usar o Rcpp de interface de R a C ++

De qualquer caso dá-lhe a sua linguagem de script para prototipagem e fácil 'cola' para C ++ para o desempenho.

peão

peão é um simples, typeless, linguagem de extensão de 32 bits com uma sintaxe C-like. Um programa de "fonte" peão é compilado em um arquivo binário para velocidade de execução ideal. P-código do compilador peão saídas (ou código de bytes) que, subsequentemente, é executado em uma máquina de resumo. velocidade de execução, estabilidade, simplicidade e uma pequena pegada foram critérios essenciais de concepção, tanto para a linguagem e a máquina abstrata.

Esta linguagem é muito simular a sintaxe c, para que qualquer pessoa que tenha feito qualquer c ++, C, C #, Java será capaz de lê-lo e sua simplyfied de modo nenhum codificadores pode lê-lo para. Esta linguagem é usada atualmente por toda parte, entre outros lugares scripting contra halflife 1 e halflife2 servidores.

Há um novo pacote Chaiscript que é projetado para C ++. É relativamente novo e não completamente estável ainda.

Para Python, às vezes acho psyco útil. Não tenho certeza se existe algum equivalente para perl embora.

Ao escolher um idioma para uma tarefa, acho que é mais útil para escolher o idioma mais adequado para o trabalho. Se o trabalho pede mais desempenho do que uma linguagem de script pode fornecer, em condições normais, geralmente é melhor mudar apenas do que dobrar para trás para tentar fazer o seu código rápido.

GML: www.yoyogames.com

A questão pode ser interpretada de diferentes maneiras ...

Se você já ter codificado uma parte de sua aplicação em C ++ e necessidade de adicionar módulos ou scripts, que você deseja adicionar no código C ++, eventualmente, para melhorar o desempenho, você pode usar Qt que é um sólido muito completo quadro, multi-plataforma.

Ele inclui suporte para roteiros (ECMAScript, a versão padronizada de Javascript), a partir do qual você pode acessar seus objetos C ++, se você precisa. Ele também fornece suporte para plug-ins.

Com essa abordagem, você pode até avançar em três etapas,

  • primeiro fazer alguns testes em Javascript,
  • em seguida, codificar a base de sua aplicação em C ++ e ainda usar uma parte em scripts (por exemplo, se você precisa experimentar diferentes algoritmos),
  • e, finalmente, a porta tudo, ou pelo menos as partes críticas, em C ++.

Outra opção é incorporar um interpretador Python em seu código, embora isso provavelmente exigirá mais trabalho.

Eu não tenho certeza eu entendo sua pergunta, mas se o seu olhar para implementar sua própria linguagem de script que pode interagir com o seu código C ++ você pode dar uma olhada em boost :: espírito. Você apenas tem que dizer que a sua gramática e você tem sua linguagem de script fazer o que você diga a ele em C ++. Você especifica a sua gramática usando operadores c ++ que torna muito fácil e intuitiva.

Isso é o que eu atualmente usada para as minhas necessidades recentes e parece que ele vai fazer o trabalho muito bem. Você tem acesso total ao seu c ++ objetos ao especificar a sua gramática e seu usuário pode ter uma linguagem muito simples de aprender (em comparação com CINT onde a língua seria c ++ em si).

tempo de compilação são um pouco lento agora, mas se você não precisa implementar uma linguagem muito complexa que deve ser gerenciável (eu não gostaria de ver o tempo de compilação para algo como c ++). Também documentação é um pouco falta para a versão mais recente (e a versão mais up-to-date é um pouco difícil de encontrar), mas é relativamente fácil de usar, por isso pode valer a pena um cheque, dependendo de suas necessidades.

Você pode codificar usando linguagem de programação D tanto como um script ou uma saída rápida compilado.

aqui é um artigo que fala em detalhes sobre D e suas vantagens "The Case for D"

Cling é um intérprete para c ++ agarram

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