OSDEV: Itanium часть 2: One-time Construction API и сигнлтоны Майерса
Приветствую!
В этой части мы рассмотрим что такое guard variables и как под капотом работают синглтоны Майерса. Цель конечно у меня другая, я просто обозреваю процесс разработки ОС и рассказываю какие задачи как и зачем я решаю. Но раз уж столкнулся с этим, то расскажу что понял :-D
И так, стандарт начиная с С++11 гарантирует нам что локальные статические переменные инициализируются потокобезопасно. Но кто и как это обеспечивает? Это делает ABI.
И все таки о чем же идет речь? Представьте себе что есть вот такая структура:
Источник: https://habr.com/ru/articles/1055604/?utm_source=habrahabr&utm_medium=rss&utm_campaign=1055604