comdat-folding- все статьи тега


Имеют ли отдельные функции разные адреса?

рассмотрим эти две функции: void foo() {} void bar() {} гарантируется ли, что &foo != &bar? аналогично, template<class T> void foo() { } гарантируется ли, что &foo<int> != &foo<double>? есть два компоновщика, которые я знаю о том, что определения функции сгиба вместе. MSVC агрессивно COMDAT складывает функции, поэтому две функции с одинаковой реализацией могут быть превращены в одну функцию. В качестве побочного эффекта обе функции имеют один и тот же ...