이름 맹 글링이 C++ 표준에 의해 결코 표준화되지 않은 이유가 궁금합니다. 분명히 다른 이름의 맹 글링 알고리즘을 사용하면 상호 운용성이 손상되고 [1], 구현 정의에 따른 이점이 보이지 않습니다.이름 맹 글링이 표준화되지 않은 이유
즉, 기본 규칙이나 크기를 호출하는 것과는 달리 기계 자체는 함수가 호출되는 방식을 신경 쓰지 않고 심지어는 알지 못합니다. 그렇다면 표준화되지 않은 이유는 무엇이며 왜 여전히 표준화되지 않은 것입니까? 컴파일러는 어쨌든 버전간에 과거의 규칙을 변경했습니다.
[1] 사람들은 모두 extern "C"
과 같은 기능을 내보내고 있습니다.
표준화 된 이름 변환은 올바른 상호 운용성을 얻기 위해 ABI를 표준화해야하기 때문에 보안에 대한 잘못된 인식만을 제공합니다. C++ 표준위원회는 ABI 표준화 사업에 참여하지 않을 것입니다. –
+1 @Raymond - 상호 운용성에 대해 자신에게 거짓말하는 것은 주변의 나쁜 소식입니다. 정의되지 않은 동작에 의존하는 것과 같습니다. 물론, 당신은 * 그것이 효과가 있다고 생각하지만 실제로는 그렇지 않습니다. –
사실, C++ ABI에 동의하는 것은 C보다 훨씬 어려울 것입니다.약간 OT :이 질문에 정확히 3 명이 SO에 잘 맞는 것으로 간주되지 않는 것은 무엇입니까? 결국 거기에 이미 명확한 좋은 대답이 이미 있습니다. – Voo