답변:
V8은 빌드하기 쉽고 Mozilla 독립형 Javascript 인터프리터의 Java VM 오버 헤드와 함께 제공되지 않습니다. 다행히 V8에는 콘솔을 빌드하기위한 코드가 제공됩니다. 이를 구축하는 방법은 다음과 같습니다.
$> svn co http://v8.googlecode.com/svn/trunk v8-trunk ... $> cd v8- 트렁크 $> 스콘 $> g ++ ./samples/shell.cc -o v8-shell -libv8.a를 포함합니다
이제라는 독립형 바이너리가 v8-shell
있습니다.
콘솔 실행
$> ./v8- 쉘 V8 버전 2.0.2 > var x = 10; > x 10 > 함수 foo (x) {return x * x; } > foo 함수 foo (x) {return x * x; } > 종료 ()
명령 행에서 자바 스크립트 실행 :
$> ./v8-shell -e 'print ( "10 * 10 ="+ 10 * 10)' 10 * 10 = 100
더 많은 기능이 도움말에 설명되어 있습니다.
$> ./v8-shell --help 용법: ...
d8
합니다. 자세한 내용은 내 답변을 참조하십시오.
예제 'shell'toy 응용 프로그램이 아닌 개발자 콘솔을 빌드하려면 아래 명령을 터미널에 복사하여 붙여 넣습니다.
sudo apt-get install subversion scons libreadline-dev
svn co http://v8.googlecode.com/svn/trunk v8
cd v8/
scons console=readline d8
이 명령어는 "일반적인"커널을 가진 우분투 / 데비안에서 작동합니다. 다른 배포판의 경우 apt-get 명령을 사용 가능한 패키지 도구로 바꿔야합니다. 64 비트 시스템에서는 추가해야 할 수도 있습니다 arch=x64
. 이 console=readline
옵션을 사용하면 readline 시스템이 표준 쉘과 비슷한 느낌을 줄 수 있습니다.
더 자세한 문서는 여기 ( http://code.google.com/apis/v8/build.html)
노트 :
참조 : 건물의 GYP와 V8
arch=x64
64 비트 우분투를 빌드 하기 위해 추가 해야했습니다.
./d8
.
Mac OS X에 brew
설치되어 있어야합니다. 그런 다음 (sudo) brew install v8
컴퓨터에 따라 명령을 실행하면 시간이 걸릴 수 있습니다. V8 콘솔을 시작하려면 v8
-Voilà!
팁 : 콘솔을 종료하려면 quit()
괄호를 잊지 말고 실행 하십시오!
Ctrl-D
종료 :)
Ctrl-C
그것을 죽일
나는 이것이 바뀌었을 것이라고 생각한다. 나는 수동 읽고 이 추천하고 빌드 V8을 :
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
추가 export PATH=${PATH}:/home/moose/Downloads/v8-trunk/out/ia32.release
내 .bashrc에 .
moose@pc08 ~ $ source ~/.bashrc
moose@pc08 ~ $ d8 A_tic_tac_toe_Tomek.js < A-small-practice.in
( aditsu의 자바 스크립트 및 Google Code Jam의 A-small-practice.in)
시스템에 대한 빌드 지침 ( Google V8 Build Docs )을 따른 후;
[v8 directory]$ cd out/native
[v8 directory]$ ./shell (sample shell)
[v8 directory]$ ./d8 (console: dumb)
쉘 호출을 용이하게하기 위해 .bash_profile에 별명을 작성했습니다.
alias v8='/Volumes/Dev/GitHub/v8/out/native/shell'
CLI에서 v8을 입력하면 (새 터미널 또는 셸에서-bash 프로필을 다시로드) v8 셸이 생성됩니다. 명령 프롬프트에서 JavaScript! :)
-lpthread
에서g++
명령에 옵션을 추가해야했습니다 .