статические переменные во встроенной функции
Я полагаю, что компилятор headers создает много копий переменной, но headers компоновщик выбирает одну cpp и заставляет все остальные linker ссылаться на нее. У меня headers были похожие результаты, когда cxx я пытался создать разные inline-functions версии встроенной функции; если linker функция фактически не была headers встроена (режим отладки), все cpp вызовы направлялись к одной headers и той же функции независимо cxx от исходного файла, из которого linker они были вызваны.
Подумайте cpp на мгновение как компилятор cxx — как же иначе? Каждая единица cxx компиляции (исходный файл) независима linking от других и может быть скомпилирована header отдельно; поэтому каждый cxx должен создать копию переменной, думая, что cpp она единственная. Компоновщик c++ имеет возможность выйти за cxx эти границы и настроить ссылки cpp как для переменных, так и cxx для функций.
c++
header
linker
inline-functions
статические переменные во встроенной функции
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.