endianness

    1

    1답변

    QNX 라이브러리 (짧은 부호) VAR1의 엔디안 니스를 변환 var1 = ENDIAN_LE16(var1); 을 다음과 같이 사용되는 라인 #define ENDIAN_LE16(__x) (__x) 를 포함한다. 이게 어떻게 작동합니까? __x 및 x__은 전처리기에 특별한 의미가 있어야합니까?

    1

    1답변

    UDP를 기반으로 리눅스 커널에 프로토콜을 구현 중이며 패킷을 받으면 커널 내에서 응답을 보내려고합니다. 이를 위해 ip4_datagram_connect을 실행하여 대상 (수신 된 패킷의 원본 주소)에 대한 경로를 얻은 다음 회신을 보내려고합니다. ip4_datagram_connect으로 전화하려면 함수에 주소로 전달하기 위해 sockaddr_in 구조체를

    1

    3답변

    C에서는 비트 수준에서 데이터를 저장하는 데 사용하는 char 배열이 있습니다. 이러한 배열을 파일에 저장 한 다음 다른 아키텍처의 컴퓨터에서 읽습니다. 내 질문은 비트의 순서가 일관성이 보장됩니다면입니까? 예를 들어 첫 번째 바이트에 "10010011"을 저장하면 인접한 1은 항상 2^0 및 2^1 위치에 있도록 읽혀지며 2^7 및 2^6 비트로 해석 될

    0

    1답변

    FILETIME uint64_t처럼 해석하고 주위에 인터넷 검색과 내가 잘못 작동 코드를 다음에 붙어 한 약간의 디버깅 후 FILETIME 이 UINT 캐스팅합니다. FILETIME_OFFSET 에서 uint64_t win_filetime = *(uint64_t*)(&(((char*)buf)[(int)FILETIME_OFFSET])); //at this

    4

    2답변

    htons과 ntohs이 모두 표준 라이브러리에 존재하는 이유를 모르겠습니다. 그들은 똑같은 일을합니다 - 제가 어떻게 든 혼란스럽지 않으면! htonl 및 ntohl에 대해서도 마찬가지입니다.

    0

    1답변

    프레임 길이를 나타내는 정수가 있습니다. 어떻게 정수를 부호없는 32 비트 (4 바이트) 빅 엔디안 바이트 배열로 변환 할 수 있는지 알고 싶습니다.

    0

    1답변

    IP 헤더의 1 바이트 (short, int .. 또는 그 대체 int16_t ..)의 값이 ntohs/ntohl을 사용하여 빅 엔디안으로 변환되어야 함을 확인하고 싶습니다. 등등 전선을 통해 보낼 수 있습니다. 않았다 정상적인 소켓을 사용했거나 다른 기술을 사용했을 때 커널이 관리 했습니까? ioctl을 사용하여 인터페이스의 IP 주소를 얻는 것과 같은

    0

    4답변

    리틀 엔디안 순서로 다양한 필드로 구성된 데이터 파일이 있습니다. 오프셋 및 길이가 다양한 필드 각각에 대해 무엇인지 알고 있습니다. 오프셋 및 길이를 정수로 변환 할 기존 Java 클래스가 있습니까? 예 : 17 00 00 00 43 43 43 41 11 00 00 00 AA 35 00 00. 바이트 1에서 4 (17 00 00 00)는 0x0000001

    1

    1답변

    Word32 및 Word64을 big/little/host-endian 표현 사이에 변환하는 기성품 기능이 있습니까? 주석에서 지적했듯이 직렬화가 올바르게 수행되면 필요하지 않지만 저수준 코드를 처리 할 때는 특정 상황에서 편리 할 수 ​​있습니다. 나는, 어느 것도 완벽하게 다음과 같은 솔루션을 발견. 각 단어의 byteSwap32 (또는 base-com

    3

    1답변

    인터뷰에서 big_to_little_endian()을 매크로로 구현하도록 요청 받았습니다. 나는 시프트 연산자를 사용하여 구현했다. 그러나 면접관은 내가 이것을 더 이상 최적화하기를 원합니다. 나는 그것을 할 수 없었다. 나중에 내가 검색된 & googled 찾을 수 없습니다. 누군가이 코드를 더 최적화하는 방법을 이해하는 데 도움이 될 수 있습니까? #d