바이트코드와 op코드란 무엇인가요?
차이점은 무엇인가요?
모든 통역 언어에는 비슷한 코드가 있나요?
내 이해는 다음과 같습니다.
bytecode와 opcode는 모두 중간 코드입니다
통역된 언어는 소스 코드를 중간 코드로 번역한 후 가상 머신(예: jvm, zend)에서 해석하고 실행합니다
走同样的路,发现不同的人生
opcode는 작업 코드입니다.
Java에서 사용하는 바이트코드도 일종의 opcode입니다. 각 연산 코드가 1바이트를 사용하기 때문에 바이트코드라고 합니다(실제로 멀티바이트 코드도 있습니다).
각 바이트는 명령을 나타내는 데 사용되며 이론적으로 256개의 opcode가 있을 수 있습니다.
우리가 자주 보는iadd(将两个整数相加)、dadd(두 개의 부동 소수점 숫자 추가)은 바이트코드가 아니라 니모닉입니다.
iadd
dadd
많은 통역 언어 에는 유사한 코드가 없습니다.
Bytecode와 opcode는 모두 중간 코드이므로 비교할 수 없습니다. Java는 중간 코드 bytecode로 컴파일된 다음 jvm에서 실행됩니다. PHP는 중간 코드 opcode로 컴파일되어 ZendVM에서 실행됩니다.
opcode는 작업 코드입니다.
Java에서 사용하는 바이트코드도 일종의 opcode입니다. 각 연산 코드가 1바이트를 사용하기 때문에 바이트코드라고 합니다(실제로 멀티바이트 코드도 있습니다).
각 바이트는 명령을 나타내는 데 사용되며 이론적으로 256개의 opcode가 있을 수 있습니다.
우리가 자주 보는
iadd
(将两个整数相加)、dadd
(두 개의 부동 소수점 숫자 추가)은 바이트코드가 아니라 니모닉입니다.많은 통역 언어 에는 유사한 코드가 없습니다.
Bytecode와 opcode는 모두 중간 코드이므로 비교할 수 없습니다. Java는 중간 코드 bytecode로 컴파일된 다음 jvm에서 실행됩니다. PHP는 중간 코드 opcode로 컴파일되어 ZendVM에서 실행됩니다.