nl::Weave::Encoding::BigEndian

เนมสเปซนี้มีฟังก์ชันสำหรับสิ่งต่อไปนี้

สรุป

  • การจัดเรียงไบต์ใหม่โดยสัมพันธ์กับระบบโฮสต์ ตามค่าของจำนวนไบต์ Big Endian ที่เรียงลำดับแล้วสำหรับประเภท 16, 32 และ 64 บิต
  • การดำเนินการเข้าถึงการแมปหน่วยความจำที่เรียบง่ายและมีประสิทธิภาพอย่างปลอดภัย ซึ่งอาจเกิดขึ้นกับตำแหน่งของหน่วยความจำที่ไม่สอดคล้อง โดยจะเรียงลำดับไบต์ใหม่หรือไม่ก็ได้ ด้วยจำนวนไบต์ Big Endian 8, 16, 32 และ 64 บิต ทั้งแบบมีและไม่มีการจัดการตัวชี้

ในระบบโฮสต์ Big Endian จะไม่มีการเรียงลำดับไบต์ใหม่เกิดขึ้น ระบบอื่นๆ จะมีการจัดลําดับไบต์ใหม่ตามความเหมาะสม

ฟังก์ชัน

Get16(const uint8_t *p)
uint16_t
อ่านหน่วยความจำที่อาจไม่สอดคล้องของไบต์ Big Endian ที่เรียงลำดับค่า 16 บิตจากที่อยู่ตัวชี้ที่ระบุ แล้วเรียงลำดับไบต์ใหม่ตามที่จำเป็น เพื่อให้ระบบเป้าหมายใส่ค่าไว้ในลำดับไบต์ของระบบเป้าหมาย
Get32(const uint8_t *p)
uint32_t
อ่านหน่วยความจำซึ่งอาจจะไม่ตรงของไบต์ Big Endian ที่เรียงลำดับค่า 32 บิตจากที่อยู่ตัวชี้ที่ระบุ แล้วเรียงลำดับไบต์ใหม่ตามที่จำเป็น เพื่อให้ระบบเป้าหมายใส่ค่าไว้ในลำดับไบต์ของระบบเป้าหมาย
Get64(const uint8_t *p)
uint64_t
อ่านหน่วยความจำซึ่งอาจจะไม่ตรงแนวของไบต์ Big Endian ที่เรียงลำดับค่า 64 บิตจากที่อยู่ตัวชี้ที่ระบุ แล้วเรียงลำดับไบต์ใหม่ตามที่จำเป็น เพื่อให้ระบบเป้าหมายใส่ค่าไว้ในลำดับไบต์ของระบบเป้าหมาย
HostSwap16(uint16_t v)
uint16_t
การสลับลำดับไบต์ตามค่าของค่า 16 บิตที่ระบุจะดำเนินการอย่างมีเงื่อนไขตามที่จำเป็นสำหรับระบบเป้าหมาย โดยถือว่าอยู่ในการจัดลำดับไบต์เอนเดียนขนาดใหญ่ให้กับระบบเป้าหมาย (เช่น
HostSwap32(uint32_t v)
uint32_t
การสลับลำดับไบต์ตามค่าของค่า 32 บิตที่ระบุจะดำเนินการอย่างมีเงื่อนไขตามที่จำเป็นสำหรับระบบเป้าหมาย โดยถือว่าอยู่ในการจัดลำดับไบต์เอนเดียนขนาดใหญ่ให้กับระบบเป้าหมาย (เช่น
HostSwap64(uint64_t v)
uint64_t
การสลับลำดับไบต์ตามค่าของค่า 64 บิตที่ระบุจะดำเนินการอย่างมีเงื่อนไขตามที่จำเป็นสำหรับระบบเป้าหมาย โดยถือว่าอยู่ในการจัดลำดับไบต์เอนเดียนขนาดใหญ่ให้กับระบบเป้าหมาย (เช่น
Put16(uint8_t *p, uint16_t v)
void
เขียนหน่วยความจำที่อาจไม่สอดคล้องของไบต์ของระบบเป้าหมายที่เรียงลำดับค่า 16 บิตไปยังที่อยู่ตัวชี้ที่ระบุ ดำเนินการเรียงลำดับไบต์ใหม่ตามที่จำเป็น เพื่อให้ระบบเป้าหมายวางค่าไว้ในการเรียงลำดับไบต์แบบบิ๊กเอนเดียน
Put32(uint8_t *p, uint32_t v)
void
เขียนหน่วยความจำที่อาจไม่สอดคล้องของไบต์ของระบบเป้าหมายที่เรียงลำดับค่า 32 บิตไปยังที่อยู่ตัวชี้ที่ระบุ ดำเนินการเรียงลำดับไบต์ใหม่ตามที่จำเป็น เพื่อให้ระบบเป้าหมายใส่ค่าไว้ในการเรียงลำดับไบต์แบบบิ๊กเอนเดียน
Put64(uint8_t *p, uint64_t v)
void
เขียนหน่วยความจำที่อาจไม่สอดคล้องของไบต์ของระบบเป้าหมายที่เรียงลำดับค่า 64 บิตไปยังที่อยู่ตัวชี้ที่ระบุ ดำเนินการเรียงลำดับไบต์ใหม่ตามที่จำเป็น เพื่อให้ระบบเป้าหมายใส่ค่าไว้ในการเรียงลำดับไบต์แบบบิ๊กเอนเดียน
Read16(uint8_t *& p)
uint16_t
อ่านหน่วยความจำซึ่งอาจจะไม่ตรงแนวของไบต์ Big Endian ที่เรียงลำดับค่า 16 บิตจากที่อยู่ตัวชี้ที่ระบุ แล้วเรียงลำดับไบต์ใหม่ตามที่จำเป็น เพื่อให้ระบบเป้าหมายใส่ค่าไว้ในลำดับไบต์ของระบบเป้าหมาย และเพิ่มตัวชี้ครั้งละ 16 บิต (2 ไบต์)
Read16(const uint8_t *& p)
uint16_t
อ่านหน่วยความจำซึ่งอาจจะไม่ตรงแนวของไบต์ Big Endian ที่เรียงลำดับค่า 16 บิตจากที่อยู่ตัวชี้ที่ระบุ แล้วเรียงลำดับไบต์ใหม่ตามที่จำเป็น เพื่อให้ระบบเป้าหมายใส่ค่าไว้ในลำดับไบต์ของระบบเป้าหมาย และเพิ่มตัวชี้ครั้งละ 16 บิต (2 ไบต์)
Read32(uint8_t *& p)
uint32_t
อ่านหน่วยความจำที่อาจไม่สอดคล้องของไบต์ Big Endian ที่เรียงลำดับค่า 32 บิตจากที่อยู่ตัวชี้ที่ระบุ ดำเนินการเรียงลำดับไบต์ใหม่ตามที่จำเป็น เพื่อให้ระบบเป้าหมายใส่ค่าไว้ในลำดับไบต์ของระบบเป้าหมายและเพิ่มตัวชี้ครั้งละ 32 บิต (4 ไบต์)
Read32(const uint8_t *& p)
uint32_t
อ่านหน่วยความจำที่อาจไม่สอดคล้องของไบต์ Big Endian ที่เรียงลำดับค่า 32 บิตจากที่อยู่ตัวชี้ที่ระบุ ดำเนินการเรียงลำดับไบต์ใหม่ตามที่จำเป็น เพื่อให้ระบบเป้าหมายใส่ค่าไว้ในลำดับไบต์ของระบบเป้าหมายและเพิ่มตัวชี้ครั้งละ 32 บิต (4 ไบต์)
Read64(uint8_t *& p)
uint64_t
อ่านหน่วยความจำที่อาจไม่สอดคล้องของไบต์ Big Endian ที่เรียงลำดับค่า 64 บิตจากที่อยู่ตัวชี้ที่ระบุ ดำเนินการเรียงลำดับไบต์ใหม่ตามที่จำเป็น เพื่อให้ระบบเป้าหมายใส่ค่าไว้ในลำดับไบต์ของระบบเป้าหมาย และเพิ่มตัวชี้ครั้งละ 64 บิต (8 ไบต์)
Read64(const uint8_t *& p)
uint64_t
อ่านหน่วยความจำที่อาจไม่สอดคล้องของไบต์ Big Endian ที่เรียงลำดับค่า 64 บิตจากที่อยู่ตัวชี้ที่ระบุ ดำเนินการเรียงลำดับไบต์ใหม่ตามที่จำเป็น เพื่อให้ระบบเป้าหมายใส่ค่าไว้ในลำดับไบต์ของระบบเป้าหมาย และเพิ่มตัวชี้ครั้งละ 64 บิต (8 ไบต์)
Write16(uint8_t *& p, uint16_t v)
void
เขียนหน่วยความจำที่อาจไม่สอดคล้องของไบต์ของระบบเป้าหมายที่เรียงลำดับค่า 16 บิตไปยังที่อยู่ตัวชี้ที่ระบุ ดำเนินการเรียงลำดับไบต์ใหม่ตามที่จำเป็น เพื่อให้ระบบเป้าหมายวางค่าไว้ในการเรียงลำดับไบต์แบบบิ๊กเอนเดียน
Write32(uint8_t *& p, uint32_t v)
void
เขียนหน่วยความจำที่อาจไม่สอดคล้องของไบต์ของระบบเป้าหมายที่เรียงลำดับค่า 32 บิตไปยังที่อยู่ตัวชี้ที่ระบุ ดำเนินการเรียงลำดับไบต์ใหม่ตามที่จำเป็น เพื่อให้ระบบเป้าหมายใส่ค่าไว้ในการเรียงลำดับไบต์แบบบิ๊กเอนเดียน
Write64(uint8_t *& p, uint64_t v)
void
เขียนหน่วยความจำที่อาจไม่สอดคล้องของไบต์ของระบบเป้าหมายที่เรียงลำดับค่า 64 บิตไปยังที่อยู่ตัวชี้ที่ระบุ ดำเนินการเรียงลำดับไบต์ใหม่ตามที่จำเป็น เพื่อให้ระบบเป้าหมายใส่ค่าไว้ในการเรียงลำดับไบต์แบบบิ๊กเอนเดียน

ฟังก์ชัน

Get16

uint16_t Get16(
  const uint8_t *p
)

อ่านหน่วยความจำที่อาจไม่สอดคล้องของไบต์ Big Endian ที่เรียงลำดับค่า 16 บิตจากที่อยู่ตัวชี้ที่ระบุ แล้วเรียงลำดับไบต์ใหม่ตามที่จำเป็น เพื่อให้ระบบเป้าหมายใส่ค่าไว้ในลำดับไบต์ของระบบเป้าหมาย

รายละเอียด
พารามิเตอร์
[in] p
ที่อยู่ตัวชี้ ซึ่งอาจไม่สอดคล้องกัน เพื่ออ่านค่าจากไบต์ Big Endian 16 บิต
การส่งคืน
ในการจัดลำดับไบต์ ค่า 16 บิตที่ที่อยู่ตัวชี้ที่ระบุ (หากจำเป็น)

Get32

uint32_t Get32(
  const uint8_t *p
)

อ่านหน่วยความจำซึ่งอาจจะไม่ตรงของไบต์ Big Endian ที่เรียงลำดับค่า 32 บิตจากที่อยู่ตัวชี้ที่ระบุ แล้วเรียงลำดับไบต์ใหม่ตามที่จำเป็น เพื่อให้ระบบเป้าหมายใส่ค่าไว้ในลำดับไบต์ของระบบเป้าหมาย

รายละเอียด
พารามิเตอร์
[in] p
ที่อยู่ตัวชี้ ซึ่งอาจไม่ตรงกันสำหรับอ่านค่าตามลำดับของไบต์ Big Endian แบบ 32 บิต
การส่งคืน
ในการจัดลำดับไบต์ ค่า 32 บิตที่ที่อยู่ตัวชี้ที่ระบุ (หากจำเป็น)

Get64

uint64_t Get64(
  const uint8_t *p
)

อ่านหน่วยความจำซึ่งอาจจะไม่ตรงแนวของไบต์ Big Endian ที่เรียงลำดับค่า 64 บิตจากที่อยู่ตัวชี้ที่ระบุ แล้วเรียงลำดับไบต์ใหม่ตามที่จำเป็น เพื่อให้ระบบเป้าหมายใส่ค่าไว้ในลำดับไบต์ของระบบเป้าหมาย

รายละเอียด
พารามิเตอร์
[in] p
ที่อยู่ตัวชี้ ซึ่งอาจไม่ตรงกันสำหรับอ่านค่าตามลำดับของไบต์ Big Endian 64 บิต
การส่งคืน
ไบต์ที่เรียงลำดับใหม่ตามค่า 64 บิตตามที่อยู่ตัวชี้ที่ระบุ

HostSwap16

uint16_t HostSwap16(
  uint16_t v
)

การสลับลำดับไบต์ตามค่าของค่า 16 บิตที่ระบุจะดำเนินการอย่างมีเงื่อนไขตามที่จำเป็นสำหรับระบบเป้าหมาย โดยถือว่าอยู่ในการจัดลำดับไบต์เอนเดียนขนาดใหญ่ให้กับระบบเป้าหมาย (เช่น

(โฮสต์) ไบต์ตามลำดับ

ดังนั้น ในระบบปลายทางแบบบิต นี้จะเป็นแบบที่ไม่มีการดำเนินการ ส่วนในระบบเป้าหมายปลายทางขนาดใหญ่ การดำเนินการจะเรียงลำดับใหม่

รายละเอียด
พารามิเตอร์
[in] v
ค่า 16 บิตที่จะสลับลำดับไบต์
การส่งคืน
สลับลำดับไบต์แล้ว หากจำเป็น

HostSwap32

uint32_t HostSwap32(
  uint32_t v
)

การสลับลำดับไบต์ตามค่าของค่า 32 บิตที่ระบุจะดำเนินการอย่างมีเงื่อนไขตามที่จำเป็นสำหรับระบบเป้าหมาย โดยถือว่าอยู่ในการจัดลำดับไบต์เอนเดียนขนาดใหญ่ให้กับระบบเป้าหมาย (เช่น

(โฮสต์) ไบต์ตามลำดับ

ดังนั้น ในระบบปลายทางแบบบิต นี้จะเป็นแบบที่ไม่มีการดำเนินการ ส่วนในระบบเป้าหมายปลายทางขนาดใหญ่ การดำเนินการจะเรียงลำดับใหม่

รายละเอียด
พารามิเตอร์
[in] v
ค่า 32 บิตที่จะสลับลำดับไบต์
การส่งคืน
สลับลำดับไบต์แล้ว หากจำเป็น

HostSwap64

uint64_t HostSwap64(
  uint64_t v
)

การสลับลำดับไบต์ตามค่าของค่า 64 บิตที่ระบุจะดำเนินการอย่างมีเงื่อนไขตามที่จำเป็นสำหรับระบบเป้าหมาย โดยถือว่าอยู่ในการจัดลำดับไบต์เอนเดียนขนาดใหญ่ให้กับระบบเป้าหมาย (เช่น

(โฮสต์) ไบต์ตามลำดับ

ดังนั้น ในระบบปลายทางแบบบิต นี้จะเป็นแบบที่ไม่มีการดำเนินการ ส่วนในระบบเป้าหมายปลายทางขนาดใหญ่ การดำเนินการจะเรียงลำดับใหม่

รายละเอียด
พารามิเตอร์
[in] v
ค่า 64 บิตที่จะสลับลำดับไบต์
การส่งคืน
สลับลำดับไบต์แล้ว หากจำเป็น

Put16

void Put16(
  uint8_t *p,
  uint16_t v
)

เขียนหน่วยความจำที่อาจไม่สอดคล้องของไบต์ของระบบเป้าหมายที่เรียงลำดับค่า 16 บิตไปยังที่อยู่ตัวชี้ที่ระบุ ดำเนินการเรียงลำดับไบต์ใหม่ตามที่จำเป็น เพื่อให้ระบบเป้าหมายวางค่าไว้ในการเรียงลำดับไบต์แบบบิ๊กเอนเดียน

รายละเอียด
พารามิเตอร์
[in] p
ที่อยู่ตัวชี้ (อาจไม่สอดคล้องกัน) เพื่อเขียนไบต์ของระบบเป้าหมายที่เรียงลำดับค่า 16 บิตเป็นลำดับไบต์ของ Big Endian
[in] v
ค่า 16 บิตที่จะเขียนจะสลับลำดับไบต์ (หากจำเป็น)

Put32

void Put32(
  uint8_t *p,
  uint32_t v
)

เขียนหน่วยความจำที่อาจไม่สอดคล้องของไบต์ของระบบเป้าหมายที่เรียงลำดับค่า 32 บิตไปยังที่อยู่ตัวชี้ที่ระบุ ดำเนินการเรียงลำดับไบต์ใหม่ตามที่จำเป็น เพื่อให้ระบบเป้าหมายใส่ค่าไว้ในการเรียงลำดับไบต์แบบบิ๊กเอนเดียน

รายละเอียด
พารามิเตอร์
[in] p
ที่อยู่ตัวชี้ (อาจไม่สอดคล้อง) สำหรับเขียนไบต์ของระบบเป้าหมายที่เรียงลำดับค่า 32 บิตเป็นลำดับไบต์แบบ Big Endian
[in] v
ค่า 32 บิตที่จะเขียนจะสลับลำดับไบต์ (หากจำเป็น)

Put64

void Put64(
  uint8_t *p,
  uint64_t v
)

เขียนหน่วยความจำที่อาจไม่สอดคล้องของไบต์ของระบบเป้าหมายที่เรียงลำดับค่า 64 บิตไปยังที่อยู่ตัวชี้ที่ระบุ ดำเนินการเรียงลำดับไบต์ใหม่ตามที่จำเป็น เพื่อให้ระบบเป้าหมายใส่ค่าไว้ในการเรียงลำดับไบต์แบบบิ๊กเอนเดียน

รายละเอียด
พารามิเตอร์
[in] p
ที่อยู่ตัวชี้ (อาจไม่สอดคล้องกัน) เพื่อเขียนไบต์ของระบบเป้าหมายที่เรียงลำดับค่า 64 บิตเป็นลำดับไบต์แบบ Big Endian
[in] v
ค่า 64 บิตที่จะเขียนจะสลับลำดับไบต์ (หากจำเป็น)

Read16

uint16_t Read16(
  uint8_t *& p
)

อ่านหน่วยความจำซึ่งอาจจะไม่ตรงแนวของไบต์ Big Endian ที่เรียงลำดับค่า 16 บิตจากที่อยู่ตัวชี้ที่ระบุ แล้วเรียงลำดับไบต์ใหม่ตามที่จำเป็น เพื่อให้ระบบเป้าหมายใส่ค่าไว้ในลำดับไบต์ของระบบเป้าหมาย และเพิ่มตัวชี้ครั้งละ 16 บิต (2 ไบต์)

รายละเอียด
พารามิเตอร์
[in,out] p
การอ้างอิงไปยังที่อยู่ตัวชี้ที่อาจไม่ตรงกัน สำหรับการอ่านค่าไบต์ Big Endian 16 บิตที่เรียงลำดับจาก แล้วเพิ่มขึ้นทีละ 16 บิต (2 ไบต์)
การส่งคืน
ค่า 16 บิตในที่อยู่ตัวชี้ที่ระบุ หากจำเป็น ระบบจะสลับลำดับไบต์

Read16

uint16_t Read16(
  const uint8_t *& p
)

อ่านหน่วยความจำซึ่งอาจจะไม่ตรงแนวของไบต์ Big Endian ที่เรียงลำดับค่า 16 บิตจากที่อยู่ตัวชี้ที่ระบุ แล้วเรียงลำดับไบต์ใหม่ตามที่จำเป็น เพื่อให้ระบบเป้าหมายใส่ค่าไว้ในลำดับไบต์ของระบบเป้าหมาย และเพิ่มตัวชี้ครั้งละ 16 บิต (2 ไบต์)

รายละเอียด
พารามิเตอร์
[in,out] p
การอ้างอิงไปยังที่อยู่ตัวชี้คงที่ซึ่งอาจไม่สอดคล้อง เพื่ออ่านค่าไบต์ Big Endian 16 บิตที่เรียงลำดับจาก แล้วเพิ่มขึ้นทีละ 16 บิต (2 ไบต์)
การส่งคืน
ค่า 16 บิตในที่อยู่ตัวชี้ที่ระบุ หากจำเป็น ระบบจะสลับลำดับไบต์

Read32

uint32_t Read32(
  uint8_t *& p
)

อ่านหน่วยความจำที่อาจไม่สอดคล้องของไบต์ Big Endian ที่เรียงลำดับค่า 32 บิตจากที่อยู่ตัวชี้ที่ระบุ ดำเนินการเรียงลำดับไบต์ใหม่ตามที่จำเป็น เพื่อให้ระบบเป้าหมายใส่ค่าไว้ในลำดับไบต์ของระบบเป้าหมายและเพิ่มตัวชี้ครั้งละ 32 บิต (4 ไบต์)

รายละเอียด
พารามิเตอร์
[in,out] p
การอ้างอิงไปยังที่อยู่ตัวชี้ที่อาจไม่ตรงกัน สำหรับการอ่านค่าไบต์ Big Endian 32 บิตที่เรียงลำดับจาก แล้วเพิ่มขึ้นทีละ 32 บิต (4 ไบต์)
การส่งคืน
สลับลำดับไบต์ที่ค่า 32 บิตตามที่อยู่ตัวชี้ที่ระบุ

Read32

uint32_t Read32(
  const uint8_t *& p
)

อ่านหน่วยความจำที่อาจไม่สอดคล้องของไบต์ Big Endian ที่เรียงลำดับค่า 32 บิตจากที่อยู่ตัวชี้ที่ระบุ ดำเนินการเรียงลำดับไบต์ใหม่ตามที่จำเป็น เพื่อให้ระบบเป้าหมายใส่ค่าไว้ในลำดับไบต์ของระบบเป้าหมายและเพิ่มตัวชี้ครั้งละ 32 บิต (4 ไบต์)

รายละเอียด
พารามิเตอร์
[in,out] p
การอ้างอิงไปยังที่อยู่ตัวชี้คงที่ซึ่งอาจไม่สอดคล้อง เพื่ออ่านค่าที่เรียงลำดับไบต์ Big Endian แบบ 32 บิตจากแล้วเพิ่มขึ้นทีละ 32 บิต (4 ไบต์)
การส่งคืน
สลับลำดับไบต์ที่ค่า 32 บิตตามที่อยู่ตัวชี้ที่ระบุ

Read64

uint64_t Read64(
  uint8_t *& p
)

อ่านหน่วยความจำที่อาจไม่สอดคล้องของไบต์ Big Endian ที่เรียงลำดับค่า 64 บิตจากที่อยู่ตัวชี้ที่ระบุ ดำเนินการเรียงลำดับไบต์ใหม่ตามที่จำเป็น เพื่อให้ระบบเป้าหมายใส่ค่าไว้ในลำดับไบต์ของระบบเป้าหมาย และเพิ่มตัวชี้ครั้งละ 64 บิต (8 ไบต์)

รายละเอียด
พารามิเตอร์
[in,out] p
การอ้างอิงไปยังที่อยู่ตัวชี้ที่อาจไม่ตรงกัน สำหรับการอ่านค่าไบต์ Big Endian แบบ 64 บิตจากแล้วเพิ่มขึ้นทีละ 64 บิต (8 ไบต์)
การส่งคืน
สลับลำดับไบต์ที่ค่า 64 บิตตามที่อยู่ตัวชี้ที่ระบุ

Read64

uint64_t Read64(
  const uint8_t *& p
)

อ่านหน่วยความจำที่อาจไม่สอดคล้องของไบต์ Big Endian ที่เรียงลำดับค่า 64 บิตจากที่อยู่ตัวชี้ที่ระบุ ดำเนินการเรียงลำดับไบต์ใหม่ตามที่จำเป็น เพื่อให้ระบบเป้าหมายใส่ค่าไว้ในลำดับไบต์ของระบบเป้าหมาย และเพิ่มตัวชี้ครั้งละ 64 บิต (8 ไบต์)

รายละเอียด
พารามิเตอร์
[in,out] p
การอ้างอิงไปยังที่อยู่ตัวชี้คงที่ซึ่งอาจไม่สอดคล้อง เพื่ออ่านค่าไบต์ Big Endian 64 บิตที่เรียงลำดับจาก แล้วเพิ่มขึ้นทีละ 64 บิต (8 ไบต์)
การส่งคืน
สลับลำดับไบต์ที่ค่า 64 บิตตามที่อยู่ตัวชี้ที่ระบุ

Write16

void Write16(
  uint8_t *& p,
  uint16_t v
)

เขียนหน่วยความจำที่อาจไม่สอดคล้องของไบต์ของระบบเป้าหมายที่เรียงลำดับค่า 16 บิตไปยังที่อยู่ตัวชี้ที่ระบุ ดำเนินการเรียงลำดับไบต์ใหม่ตามที่จำเป็น เพื่อให้ระบบเป้าหมายวางค่าไว้ในการเรียงลำดับไบต์แบบบิ๊กเอนเดียน

รายละเอียด
พารามิเตอร์
[in] p
การอ้างอิงไปยังที่อยู่ตัวชี้ (อาจไม่ตรงกัน) ในการเขียนไบต์ของระบบเป้าหมายที่เรียงลำดับค่า 16 บิตเป็นลำดับไบต์ของ Big Endian แล้วเพิ่มขึ้นทีละ 16 บิต (2 ไบต์)
[in] v
ค่า 16 บิตที่จะเขียนจะสลับลำดับไบต์ (หากจำเป็น)

Write32

void Write32(
  uint8_t *& p,
  uint32_t v
)

เขียนหน่วยความจำที่อาจไม่สอดคล้องของไบต์ของระบบเป้าหมายที่เรียงลำดับค่า 32 บิตไปยังที่อยู่ตัวชี้ที่ระบุ ดำเนินการเรียงลำดับไบต์ใหม่ตามที่จำเป็น เพื่อให้ระบบเป้าหมายใส่ค่าไว้ในการเรียงลำดับไบต์แบบบิ๊กเอนเดียน

รายละเอียด
พารามิเตอร์
[in] p
การอ้างอิงไปยังที่อยู่ตัวชี้ (ซึ่งอาจไม่สอดคล้องกัน) ในการเขียนไบต์ของระบบเป้าหมายที่เรียงลำดับค่า 32 บิตเป็นลำดับไบต์ของ Big Endian แล้วเพิ่มขึ้นทีละ 32 บิต (4 ไบต์)
[in] v
ค่า 32 บิตที่จะเขียนจะสลับลำดับไบต์ (หากจำเป็น)

Write64

void Write64(
  uint8_t *& p,
  uint64_t v
)

เขียนหน่วยความจำที่อาจไม่สอดคล้องของไบต์ของระบบเป้าหมายที่เรียงลำดับค่า 64 บิตไปยังที่อยู่ตัวชี้ที่ระบุ ดำเนินการเรียงลำดับไบต์ใหม่ตามที่จำเป็น เพื่อให้ระบบเป้าหมายใส่ค่าไว้ในการเรียงลำดับไบต์แบบบิ๊กเอนเดียน

รายละเอียด
พารามิเตอร์
[in] p
การอ้างอิงไปยังที่อยู่ตัวชี้ (อาจไม่ตรงกัน) ในการเขียนไบต์ของระบบเป้าหมายที่เรียงลำดับค่า 64 บิตเป็นลำดับไบต์ของ Big Endian แล้วเพิ่มขึ้นทีละ 64 บิต (8 ไบต์)
[in] v
ค่า 64 บิตที่จะเขียนจะสลับลำดับไบต์ (หากจำเป็น)