intptr_t의 정의는 아키텍처에 따라 다르며 한 아키텍처의 모든 균일 한 주소 공간에 액세스 할 수있는 포인터를 나타낼 수있는 용량을 보장합니다. 방법.마이크로 최적화 : 플래그/부울 유형에 대해 intptr_t 사용
Nginx (인기있는 오픈 소스 웹 서버)는 플래그 (부울)로 사용되는 유형을 정의하며이 유형은 intptr_t
으로 typedef됩니다. 이제 모든 크기의 피연산자를 다루는 많은 명령어에 액세스 할 수있는 x86-64 아키텍처를 예로 들자면, 플래그를 intptr_t로 정의하는 이유는 무엇입니까? 확실히 32 비트 bool 유형을 사용하는 전통은 법안에도 잘 맞을 것입니까?
나는 32 비트 대입니다. 새로운 개발자 였을 때 8 비트 bools 논쟁이 있었고, 32 비트 bool은 프로세서 설계의 복잡성으로 인해 일반적인 경우에 더 잘 수행된다는 결론을 얻었습니다. 그렇다면 64 비트 bool로 전환해야하는 이유는 무엇입니까?