LINUX.ORG.RU

История изменений

Исправление alysnix, (текущая версия) :

Нет. Байткод тоже интерпретируется. Так что бинарность – не признак скомпилированного кода.

про «бинарность» я ни слова не сказал, потому что это вульгаризм. в конечном итоге все данные бинарны, включая текст, и где пролегает граница между бинарностью и небинарностью - зависит от уровня обкуренности рассуждающего.

то есть генерация кода в си это некий «транспилятор»… а генерация кода в асм - это что? а генерация кода в код llvm - это что?

читайте вики(обратите внимание на виртуальную машину там упомянутую).

Компиля́ция — сборка программы, включающая трансляцию всех модулей программы, написанных на одном или нескольких исходных языках программирования высокого уровня и/или языке ассемблера, в эквивалентные программные модули на низкоуровневом языке, близком машинному коду (абсолютный код, объектный модуль, иногда на язык ассемблера)[2][3][4] или непосредственно на машинном языке или ином двоичнокодовом низкоуровневом командном языке и последующую сборку исполняемой машинной программы. Если компилятор генерирует исполняемую машинную программу на машинном языке, то такая программа непосредственно исполняется физической программируемой машиной (например компьютером). В других случаях исполняемая машинная программа выполняется соответствующей виртуальной машиной. Входной информацией для компилятора (исходный код) является описание алгоритма или программы на предметно-ориентированном языке, а на выходе компилятора — эквивалентное описание алгоритма на машинно-ориентированном языке (объектный код[5], байт-код).

Исходная версия alysnix, :

Нет. Байткод тоже интерпретируется. Так что бинарность – не признак скомпилированного кода.

про «бинарность» я ни слова не сказал, потому что это вульгаризм. в конечном итоге все данные бинарны, включая текст, и где пролегает граница между бинарностью и небинарностью - зависит от уровня обкуренности рассуждающего.

то есть генерация кода на си некий «транспилятор»… а генерация кода на асм - это что? а генерация кода в код llvm - это что?

читайте вики(обратите внимание на виртуальную машину там упомянутую).

Компиля́ция — сборка программы, включающая трансляцию всех модулей программы, написанных на одном или нескольких исходных языках программирования высокого уровня и/или языке ассемблера, в эквивалентные программные модули на низкоуровневом языке, близком машинному коду (абсолютный код, объектный модуль, иногда на язык ассемблера)[2][3][4] или непосредственно на машинном языке или ином двоичнокодовом низкоуровневом командном языке и последующую сборку исполняемой машинной программы. Если компилятор генерирует исполняемую машинную программу на машинном языке, то такая программа непосредственно исполняется физической программируемой машиной (например компьютером). В других случаях исполняемая машинная программа выполняется соответствующей виртуальной машиной. Входной информацией для компилятора (исходный код) является описание алгоритма или программы на предметно-ориентированном языке, а на выходе компилятора — эквивалентное описание алгоритма на машинно-ориентированном языке (объектный код[5], байт-код).