Respostas:
A V8 é fácil de construir e não vem com a sobrecarga da Java VM do interpretador Javascript independente da Mozilla. Felizmente, o V8 é fornecido com o código para a construção de um console. Aqui está como criar isso:
$> svn co http://v8.googlecode.com/svn/trunk v8-trunk ... $> cd v8-trunk $> scons $> g ++ ./samples/shell.cc -o v8-shell -Eu incluo libv8.a
Agora, temos um binário independente chamado v8-shell
.
Executando o console:
$> ./v8-shell V8 versão 2.0.2 > var x = 10; > x 10 > função foo (x) {return x * x; } > foo função foo (x) {return x * x; } > sair ()
Executando Javascript a partir da linha de comando:
$> ./v8-shell -e 'print ("10 * 10 =" + 10 * 10)' 10 * 10 = 100
Muitos outros recursos estão documentados na ajuda:
$> ./v8-shell --help Uso: ...
d8
. Veja minha resposta para mais informações.
Para criar o console do desenvolvedor, em vez do aplicativo de brinquedo 'shell' de exemplo, copie e cole os comandos abaixo no seu terminal.
sudo apt-get install subversion scons libreadline-dev
svn co http://v8.googlecode.com/svn/trunk v8
cd v8/
scons console=readline d8
Estas instruções funcionarão para Ubuntu / Debian com um kernel "genérico". Para outras distribuições, você precisará substituir o comando apt-get por qualquer ferramenta de pacote disponível. Em sistemas de 64 bits, pode ser necessário adicionar arch=x64
. A console=readline
opção habilita o sistema readline , para torná-lo um pouco mais parecido com um shell padrão.
Documentação mais completa aqui: http://code.google.com/apis/v8/build.html
Nota:
Veja também: Criando v8 com GYP
arch=x64
para construir no ubuntu de 64 bits.
./d8
.
Que tal executar o Javascript V8 via linha de comando usando o node.js ?
O node.js usa a v8 como seu mecanismo e adiciona muitas funcionalidades a ela.
Por exemplo, no Mac OSX, se você tiver o Homebrew instalado, basta emitir:
$ brew install node
$ node
>
No Mac OS X, certifique-se de ter brew
instalado. Em seguida, basta executar o comando (sudo) brew install v8
, dependendo da sua máquina, isso pode levar algum tempo. Para iniciar o console V8, basta executar v8
- Voilà!
Dica: Para sair do console, basta executar quit()
e não esquecer os parênteses!
Ctrl-D
para sair :)
Ctrl-C
para matá-lo
Eu acho que isso pode ter mudado. Eu li o manual e construí a v8 assim:
moose@pc08$ svn co http://v8.googlecode.com/svn/trunk v8-trunk
moose@pc08$ cd v8-trunk
moose@pc08$ make dependencies
moose@pc08$ make ia32.release
adicionado export PATH=${PATH}:/home/moose/Downloads/v8-trunk/out/ia32.release
ao meu .bashrc
moose@pc08 ~ $ source ~/.bashrc
moose@pc08 ~ $ d8 A_tic_tac_toe_Tomek.js < A-small-practice.in
(Com javascript do aditsu e A-small-practice.in do Google Code Jam)
Depois de seguir as instruções de compilação ( V8 Build Docs do Google ) para o seu sistema;
[v8 directory]$ cd out/native
[v8 directory]$ ./shell (sample shell)
[v8 directory]$ ./d8 (console: dumb)
Criei um alias no meu .bash_profile para facilitar a chamada do shell.
alias v8='/Volumes/Dev/GitHub/v8/out/native/shell'
Digitar v8 na CLI (em um novo Terminal ou shell - para recarregar seu perfil do bash) produz o shell v8. JavaScript no prompt de comando! :)
Caso você queira executar seu código-fonte javascript usando o mecanismo v8 ou qualquer versão dele, poderá utilizar a ferramenta de linha de comando jsvu . Foi desenvolvido e mantido pelos engenheiros do Google e, além disso, oferece o recurso de instalar outros mecanismos javascript além da v8 , como spidermonkey , chakracore , javascriptcore e xs .
Se você planeja incorporar o V8, construa-o e brinque com "d8".
Se, por outro lado, você não planeja estender o V8 ou tratá-lo como opcional, basta usar o Node.JS. Não se preocupe com o V8 puro.
O Node.js possui E / S, extensões, bibliotecas verdadeiramente ricas (como Perl CPAN, Python Eggs, Ruby Gems) e comunidade.
-lpthread
aog++
comando no ubuntu 10.04.