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

Ludwig Ortmann ludwig.ortmann at fu-berlin.de
Sat Sep 27 14:30:08 CEST 2014


Does anyone know if this approach would only benefit native, or other toolchains as well?

Cheers, Ludwig

Am 26. September 2014 23:56:36 MESZ, schrieb Ryan Kurte <ryankurte at gmail.com>:
>I was just reading and wondering, would it be easier just to drop main
>the application name?
>So long as it is well documented it shouldn't make a huge difference to
>And that way the toolchain should take care of all the initialization
>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,
>> >**argv)
>> >
>> >This is probably a stupid question, but why in the first place are
>> >declaring startup as a constructor? As there are no guarantees
>> >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
>> about the initialization process, and:
>> >But then, of course, you have to take care of explicitly
>> >anything else that your native runtimes require, that differs
>> >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
>devel mailing list
>devel at riot-os.org

More information about the devel mailing list