Подтвердить что ты не робот

Преимущества компиляции кода C с помощью gcc С++ front-end

Я очень допрошен и озадачен этой фиксацией на платформе android dalvik, нажатой год назад.

Расширения файлов были изменены на расширения С++, чтобы "переместить интерпретатор в С++" - использовать компилятор С++ front-end.

В чем могут быть преимущества этого изменения? Dalvik Platform - это проект на 100% C и asm, а не любая функция С++.

4b9b3361

Ответ 1

Я могу только догадываться, но, учитывая, как система Android выросла по сложности, возможности определения области С++ (классы и пространства имен) могут сделать базу кода более управляемой.

ИЗМЕНИТЬ

Даже если проект в настоящее время не использует какие-либо возможности С++, они могут просто планировать заранее.

Помимо некоторых незначительных отличий (а именно, некоторых соглашений о параметрах, которые большинство людей вообще избегают), исходный код C компилируется как С++ без изменений. При этом в некоторых областях синтаксис С++ является более строгим, чем C (C позволяет назначить указатель void на другой тип указателя без приведения, в С++ - это ошибка), и соблюдение этой строгости позволяет избежать проблем в будущем. *

*) (Это слишком упрощенное представление, см. комментарий)

Еще одна причина изменения может заключаться в том, что, поскольку большинство современных разработок поддерживает С++ по сравнению с C, доступен более богатый набор инструментов.

Спекуляция снова, но при рождении Android C, возможно, была единственным жизнеспособным вариантом для разработки встроенных устройств, и теперь это ограничение больше не является проблемой.