Redian新闻
>
BigEndian和LittleEndian的设计
avatar
BigEndian和LittleEndian的设计# Programming - 葵花宝典
s*d
1
read/write 16/32
读写的操作除了从significant index到storage index的变换不同外,其他都一样。
使用函数指针将这一点抽出来是一种方案,但是还是要为不同的endian写不同的调用
(传入的函数指针变化了)。
如果通过设置Endian flag来判断,又不是很直观。
要是static函数可以是虚的话,就可以BigEndian和LittleEndian都继承Endian,然后
各自
实现自己的变换就好。不过static函数没有虚函数。
avatar
s*d
2
想了一下,static函数自成一体的有继承,有多态,好像编译器支持起来也
不费劲。感觉和dynamic link差不多。
avatar
O*e
3
How about the XDR library?

【在 s*******d 的大作中提到】
: read/write 16/32
: 读写的操作除了从significant index到storage index的变换不同外,其他都一样。
: 使用函数指针将这一点抽出来是一种方案,但是还是要为不同的endian写不同的调用
: (传入的函数指针变化了)。
: 如果通过设置Endian flag来判断,又不是很直观。
: 要是static函数可以是虚的话,就可以BigEndian和LittleEndian都继承Endian,然后
: 各自
: 实现自己的变换就好。不过static函数没有虚函数。

avatar
s*d
4
开始是随手写写,后来觉得很有意思。
嗯,用generic或者template就可以解决了。
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。