[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: уже совсем не хочется squirrelsh



On Mon, 1 Feb 2010, Dmitry Nezhevenko wrote:

On Mon, Feb 01, 2010 at 04:30:27AM +0300, Alexandr Sagadeev wrote:
Однако, в любом случае, все эти замены есть стандартное свойство Форта, в
котором слова (проседуры) ядра ничем не отличаются от пользовательских. В
C же другая ситуация -- для такой замены требуется перекомпиляция самого
компилятора, что бы изменить startup. Переход на функцию main в C зашит в
коде компилятора.

В GCC -- возможно да, в MSVC можно указать любую функцию.


  Стандарт ISO/IEC 9899:1999 (E)

  5.1.2.2.1 Program startup

The function called at program startup is named main. The implementation declares no prototype for this function. It shall be defined with a return type of int and with no parameters:

        int main(void) { /* ... */ }

or with two parameters (referred to here as argc and argv, though any names may be used, as they are local to the function in which they are declared):

        int main(int argc, char *argv[]) { /* ... */ }

or equivalent;9) or in some other implementation-defined manner.

 Стандарт 89 года искать лень, да там скорее всего то же самое.

 Так что внутри языка точка входа определена однозначно.
 Конечно, в реальной жизни может быть использована смесь
 языков и взята точка входа откуда угодно, хоть из
 фортрана... Плюс фантазия создателей компиляторов.
 Она не стандартизована.

 Ю.

Reply to: