"바이트코드"의 두 판 사이의 차이

2,189 바이트 추가됨 ,  13년 전
영문 위키백과 번역하여 내용을 보충함.
잔글 (robot Adding: de, es, fi, fr, it, ja, nl, pl, pt, ru, sv)
(영문 위키백과 번역하여 내용을 보충함.)
'''바이트 코드바이트코드'''({{llang|en|Bytecode}})는 특정 하드웨어가 아닌 [[버추얼가상 머신기계]]에서 돌아갈돌아가는 [[컴퓨터 있도록소프트웨어|실행 디자인 된 바이너리 실행코드를 말한다. 플랫폼 중립성을 가지기프로그램]]을 위한 언어에서 주로[[이진법|이진]] 사용한다표현법이다. 실제 기계가하드웨어가 아닌 소프트웨어소프트웨어에 위에서의해 돌아가기처리되기 때문에, 보통 [[기계어]]보다 것보다 추상적[[추상화 명령으로(컴퓨터 만들어진다과학)|추상적]]이다.
 
역사적으로 바이트코드는 대부분의 명령 집합이 0개 이상의 매개 변수를 갖는 1[[바이트]] 크기의 [[동작 코드]](opcode)였기 때문에 바이트코드라 불리게 되었다. 바이트코드는 특정 하드웨어에 대한 의존성을 줄이고, [[인터프리터|인터프리팅]]도 쉬운 결과물을 생성하고자 하는 [[프로그래밍 언어]]에 의해, 출력 코드의 한 형태로 사용된다. [[컴파일러|컴파일]]되어 만들어진 바이트코드는 특정 하드웨어의 기계 코드를 만드는 [[컴파일러]]의 입력으로 사용되거나, 가상 기계에서 바로 실행된다.
 
사람이 읽기 쉽도록 쓰여진 [[소스 코드]]와 비교하면, 바이트 코드는 덜 추상적이며, 더 간결하고, 더 [[컴퓨터]] 중심적이다. 예를 들어 바이트코드는 변수의 접근 범위(지역변수 또는 전역변수 인지 여부) 등과 같은 의미 분석 단계의 결과를 코드화한다. 그래서 일반적으로 바이트코드는 소스 코드를 직접 분석/실행하는 것보다 더 좋은 성능을 갖는다.
 
바이트코드 프로그램은 보통 한번에 하나의 명령어를 읽은 후 실행한다. 이러한 형태의 바이트코드 [[인터프리터]]는 높은 이식성을 갖는다. 또 다른 형태로서 실시간 번역기 또는 저스트 인 타임(just-in-time, JIT) 컴파일러라 불리는 시스템은 실행 중에 필요에 따라서 바이트코드를 기계어로 번역한다. 이 방법은 가상 기계의 이식성을 없애지만, 바이트코드 자체에 대한 이식성을 잃지는 않는다. 예를 들어, [[자바 프로그래밍 언어|자바]]와 [[C 샤프|C#]] 코드는 보통 바이트코드 형태로 저장되며, 실행 전에 JIT 컴파일러에 의해 기계 코드로 번역된다. 이 번역으로 인해 프로그램 실행 전에 지연시간이 발생하게 되지만, 보통 인터프리터보다는 훨씬 좋은 성능을 갖는다.
 
== 주요 구현 ==
* [[자바 바이트코드]]
* [[닷넷 프레임워크|마이크로소프트 닷넷]]의 [[매니지드 코드]](Managed code)
* [[어도비 플래시]] 오브젝트
 
[[de:Bytecode]]

편집

811