# PX4 structure

**URL:** <https://discuss.px4.io/t/px4-structure/24438>\
**Category:** Uncategorized\
**Created:** [October 4, 2021, 6:41pm UTC](https://discuss.px4.io/t/px4-structure/24438 "2021-10-04T18:41:48Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![dcooper000](https://discuss.px4.io/letter_avatar_proxy/v4/letter/d/9de0a6/32.png) [@dcooper000](https://discuss.px4.io/u/dcooper000)\
**Post date:** [October 4, 2021, 6:41pm UTC](https://discuss.px4.io/t/px4-structure/24438/1 "2021-10-04T18:41:48Z")

</div>

I am just beginning to look at the PX4 source code. Initial impression is looks fairly well structured (using C++ classes) – I am hoping there is an obvious Object Oriented design to the source code.

The one problem I have at the moment, I do not see where the C++ classes get instantiated. Generally in Real-time code, C++ classes are instantiated at startup and the destructors should never be called (do not use memory garbage collectors).

Are the C++ constructors calls created by the build process (cmake) ?

thanks…
