최근 다른 하드웨어 아키텍처에서 실행되는 두 개의 응용 프로그램을 통합했습니다. 네트워크 바이트 순서 문제와 구조체 패딩 문제가있었습니다. 비트 필드와 pragma
두
고칠 수있을만큼 간단했다 - 나는 그냥 그렇게 내 네트워킹 구조체 주위 프라그 마를 추가했다, 특히 패딩 : 내가 가지고있는하지만 어제 비트 필드에 관한 몇 가지 질문을했다#pragma pack(1)
struct {};
#pragma pack(0)
사용되지 않았습니다. 궁금 해서요 ... 비트 필드를 사용하여 구조체를 정의하여 채우기를 중지하고 시도하는 것이 더 옳았습니까? 이 시나리오에서 도움이 되었습니까?
또한 C++ 코드에서 bitfields를 많이 사용하지 않았습니다. 사용하지 않는 C 코드를 많이 사용했거나 사용하지 않은 코드에서 작업 한 적이 있습니까?
비트 필드를 사용하는 코드로 작업하지 않은 경우입니다. 그들은 ** 적절한 장소 **에서 매우 유용합니다 **. 장소가 적고 특이한 장소. –