Нет, вы не можете, если вы пишете программу в freestanding environment
(ядро встроенной среды ОС и т. Д.), Где отправная точка не обязательно должна быть main()
.Согласно стандарту C ++ main()
является отправной точкой любой программы в hosted environment
.
Согласно:
C ++ 03 стандарт 3.6.1 Основная функция
1 Программа должна содержать глобальную функцию, называемуюглавная, которая является обозначенным началом программы.Определяется реализацией, требуется ли программе в автономной среде для определения главной функции.[Примечание: в автономной среде запуск и завершение определяются реализацией;автозагрузка содержит выполнение конструкторов для объектов области пространства имен со статической длительностью хранения;Завершение содержит выполнение деструкторов для объектов со статической продолжительностью хранения.
Что такое freestanding Environment
& Что такое Hosted Environment
?
Существует два видасоответствующих реализаций, определенных в стандарте C ++;hosted
и freestanding
.
Реализация freestanding
- это реализация, предназначенная для программ, которые выполняются без использования операционной системы.
Например: ядро ОС или встроенная среда будут автономной средой.
Программа, использующая возможности операционной системы, обычно находится в hosted implementation
.
Из стандарта C ++ 03 Раздел 1.4 / 7:
Автономная реализация - это реализация, в которой выполнение может выполняться без использования операционной системы, и она имеет определенный для реализации набор библиотек, который включает в себя определенные библиотеки поддержки языка.
Далее,
Раздел: 17.4.1.3.2 Отдельно стоящие реализации цитаты:
Отдельно стоящая реализация имеет определенный реализацией наборзаголовки.Этот набор должен включать как минимум следующие заголовки, как показано в таблице:
18.1 Types <cstddef>
18.2 Implementation properties <limits>
18.3 Start and termination <cstdlib>
18.4 Dynamic memory management <new>
18.5 Type identification <typeinfo>
18.6 Exception handling <exception>
18.7 Other runtime support <cstdarg>