OS_Init

# NitroStartUp

## C Specification

      void NitroStartUp( void );

## Description

This function is for use with C++.

It describes processes that you want to perform before C++ static constructor calls. In the default implementation nothing is processed. It is compiled as a function that has weak symbols. If a `NitroStartUp` function is newly defined in an application, the new function will have priority when linking.

Generally speaking the Nitro runtime binary startup processes are as below.

1. Initialize the stack.
2. Clear the BSS region.
3. Initialize the floating point library.
4. Call `NitroStartUp`.
5. Execute static constructor (static initializer).
6. Call `NitroMain` entry.

As you can see from above, `NitroStartUp` is called before the static constructor. If you are creating NITRO applications and want to perform initialization processes before executing a static constructor, you can describe them in `NitroStartUp`.

Because the static constructor is executed before `NitroMain`, if you dynamically secure memory in a static constructor, you must initialize (`new/delete`) a heap memory managing module, etc, in `NitroStartUp`.

## Arguments

None

## Return Values

None

## See Also

## Revision History

02/27/2004 Initial Version