系统要求某些基元与存储器内的某些点对齐(对于4的倍数的字节,对于2的倍数的字节的短路,等等).当然,这些可以被优化以浪费填充中的最小空间.
我的问题是GCC为什么不自动执行此操作?更明显的启发式(从最大尺寸要求到最小尺寸的订单变量)是否缺乏某种方式?一些代码是否依赖于其结构的物理排序(这是一个好主意)?
我只是问,因为GCC在很多方面都是超级优化的,但不是在这个方面,我认为必须有一些相对很酷的解释(我不知道).
所以我想学习所有关于网络的知识.在插座下方,直到原始插座和东西.我想了解集线器,路由器,接入点等.例如,我希望能够编写自己的软件来完成这类工作.*这类信息是否有很好的来源?
我知道我在这里问了很多,并且要完全解释这一切都需要从高级别到低级别.我想我正在寻找一个类似于应用密码学的范围和深度的来源,但关于网络.
感谢任何能帮助我(以及像我这样的人)指向正确方向的人.
*是的,我意识到使用我手工制作的任何网络堆栈代码都是一个巨大的安全问题,我只是想学习它:)
类似的问题:这里.但是,我正在寻找的不仅仅是"TCP/UDP套接字以下的内容?".
编辑澄清:我所谈论的深度高于驾驶员水平.假设这些位可以进出线的另一端,那么下一步是什么呢?
我昨天参加了一个招聘会,一位开发人员问我如何对C的熟练程度进行排名.然后我意识到这是非常随意的,几乎无法确定,所以我的问题是什么知识让你成为编程C的专家?
编辑:或者故障是什么?是什么让你变得好,体面,精通等等
再次编辑:我正在寻找更多的技能列表或其他一些建设性的衡量标准来判断自己对C的熟练程度,因为这很难做到.
到目前为止列表:
我有两个功能,f
并且g
,该递归调用对方.不幸的是,当f
调用时g
,它还没有被声明,所以我得到一个"未绑定的变量"错误.如何在SML/NJ中对此功能进行原型(或等效词汇表)?
我知道有些人发誓不使用特定于语言的IDE(vim/emacs或die!type stuff),并且有些人对终端中的编码/编译感到非常不舒服,所以我的问题有以下几个部分.
随意回答所有,部分或全部.
截至目前的简短摘要:
集成开发环境
文字编辑
因此,从表面上看,这似乎是一个网络管理员(服务器故障)问题,但我正在寻找网络黑客类型的低级答案.
在我开始暑期实习之前,我几乎忘记了网络在现实生活中的实际运作方式.然后,由于没有其他选择(实习是在一个非常以网络为中心的地方而且我必须将测试平台放在一起测试[以及其他]网络),我对它们变得熟悉.一方面,事实上没有"这出去了互联网!" 商用交换机上的端口有点令人惊讶,直到你推断它是如何工作的(开始就像一个集线器直到'学习'在物理端口方面的ips,我猜?).
在这个自制的自我发现(或可能是思考错误)之后,我回到了长住酒店,看着我便宜的小型家用交换机,它有一个上行端口.
现在我的问题,网络黑客(好的方式),为什么?