[riot-devel] RIOT and static initializers in C++

Ryan Kurte ryankurte at gmail.com
Fri Sep 26 23:56:36 CEST 2014

I was just reading and wondering, would it be easier just to drop main as
the application name?

So long as it is well documented it shouldn't make a huge difference to the
And that way the toolchain should take care of all the initialization it
needs to.


On Sep 23, 2014 6:24 AM, "Ludwig Ortmann" <ludwig.ortmann at fu-berlin.de>

> Hi pekka,
> On 22. September 2014 19:56:04 MESZ, Pekka Nikander <pekka.nikander at iki.fi>
> wrote:
> >>>>>  __attribute__((constructor)) static void startup(int argc, char
> >**argv)
> >
> >This is probably a stupid question, but why in the first place are you
> >declaring startup as a constructor? As there are no guarantees (without
> >priorities) in which order the constructors are called, that is
> >somewhat unsafe.
> Because it worked when I first tried it, because I did not know too much
> about the initialization process, and:
> >But then, of course, you have to take care of explicitly initialising
> >anything else that your native runtimes require, that differs slightly
> >between Linux, FreeBSD and OSX, and requires some work.
> .. this, after I dug a bit deeper ;)
> And finally, because this assumption does not hold:
> >If you want to take care of all initialisations yourself,
> Really, all this is just to allow "main" as the user application name, so
> I didn't want to add unnecessary complexity.
> Cheers, Ludwig
> _______________________________________________
> devel mailing list
> devel at riot-os.org
> http://lists.riot-os.org/mailman/listinfo/devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.riot-os.org/pipermail/devel/attachments/20140927/8436caef/attachment.html>

More information about the devel mailing list