百科问答小站 logo
百科问答小站 font logo



我试图用 C 语言的共用体来实现 Base64 编码,为什么失败了? 第1页

  

user avatar   yang-leonier 网友的相关建议: 
      

用了好几个编译器,结果都是33 9 54 24.

应该就像下面答案用反汇编看的,位域和一般结构体成员在内存中分布不同,会自动按照当前字节序排列而导致错误。

直接把两个结构体改为d, c, b, a的顺序就对了。

位域这个东西是依赖于实现的,一般情况下都不怎么推荐用。

你这个问题在StackOverflow有人回答过了。




  

相关话题

  C语言学到什么程度可以看Lua的源码? 
  如何格式化代码能够将类成员/函数的名字对齐? 
  网络上有若干客户端向一台机器的某个端口一直不停发送UDP包 这台机器打开端口和不打开端口的区别在哪? 
  科学计算的程序编写和通常所说的码农的编程有多大的区别? 
  如何评价某985老师所说的「C语言至少学10年才能懂」? 
  如何看待知乎前后端关注度差距悬殊的现象? 
  如何让自己孩子生下来学会的第一门语言是C语言? 
  计算机底层是如何访问显卡的? 
  为什么老程序员的效率如此高? 
  c#中没有友元类那么这种设计是否不太合理,如何修改才能得到更好的方案? 

前一个讨论
日本08年经融危机是怎么解决的?
下一个讨论
如何看待漫画《进击的巨人》最终话「加页」部分的情报?





© 2024-11-22 - tinynew.org. All Rights Reserved.
© 2024-11-22 - tinynew.org. 保留所有权利