小编Ale*_*ell的帖子

为什么GCC不优化结构?

系统要求某些基元与存储器内的某些点对齐(对于4的倍数的字节,对于2的倍数的字节的短路,等等).当然,这些可以被优化以浪费填充中的最小空间.

我的问题是GCC为什么不自动执行此操作?更明显的启发式(从最大尺寸要求到最小尺寸的订单变量)是否缺乏某种方式?一些代码是否依赖于其结构的物理排序(这是一个好主意)?

我只是问,因为GCC在很多方面都是超级优化的,但不是在这个方面,我认为必须有一些相对很酷的解释(我不知道).

c optimization gcc struct

46
推荐指数
4
解决办法
9205
查看次数

我怎样才能学习_really_低级网络编程?

所以我想学习所有关于网络的知识.在插座下方,直到原始插座和东西.我想了解集线器,路由器,接入点等.例如,我希望能够编写自己的软件来完成这类工作.*这类信息是否有很好的来源?

我知道我在这里问了很多,并且要完全解释这一切都需要从高级别到低级别.我想我正在寻找一个类似于应用密码学的范围和深度的来源,但关于网络.

感谢任何能帮助我(以及像我这样的人)指向正确方向的人.

*是的,我意识到使用我手工制作的任何网络堆栈代码都是一个巨大的安全问题,我只是想学习它:)

类似的问题:这里.但是,我正在寻找的不仅仅是"TCP/UDP套接字以下的内容?".

编辑澄清:我所谈论的深度高于驾驶员水平.假设这些位可以进出线的另一端,那么下一步是什么呢?

networking network-programming network-protocols

27
推荐指数
5
解决办法
2万
查看次数

是什么让你成为C编程专家?

我昨天参加了一个招聘会,一位开发人员问我如何对C的熟练程度进行排名.然后我意识到这是非常随意的,几乎无法确定,所以我的问题是什么知识让你成为编程C的专家?

编辑:或者故障是什么?是什么让你变得好,体面,精通等等

再次编辑:我正在寻找更多的技能列表或其他一些建设性的衡量标准来判断自己对C的熟练程度,因为这很难做到.

到目前为止列表:

  • 大型项目的经验
  • 掌握指针(和记忆管理,我假设)
  • 掌握调试器(gdb,...)
  • 掌握一个探查器(gprof,...)
  • 掌握内存分析器(valgrind,...)
  • 了解基本标准

c

22
推荐指数
7
解决办法
2万
查看次数

SML中的原型设计功能

我有两个功能,f并且g,该递归调用对方.不幸的是,当f调用时g,它还没有被声明,所以我得到一个"未绑定的变量"错误.如何在SML/NJ中对此功能进行原型(或等效词汇表)?

functional-programming sml smlnj

2
推荐指数
1
解决办法
838
查看次数

你什么时候使用IDE?

我知道有些人发誓不使用特定于语言的IDE(vim/emacs或die!type stuff),并且有些人对终端中的编码/编译感到非常不舒服,所以我的问题有以下几个部分.

  • 什么时候从一个切换到另一个
  • 是否有必要同时了解两者?如果没有,你应该知道哪一个?
  • 轻量级或重量级IDE?(只是代码突出显示或您可以想象的每个功能)
  • 你一般推荐什么IDE,为什么?

随意回答所有,部分或全部.


截至目前的简短摘要:

集成开发环境

  • 大项目
  • 图形用户界面
  • 简易版本控制集成?

文字编辑

  • 快速/小型项目
  • 更容易适应其他语言
  • 减少开销

language-agnostic ide

2
推荐指数
1
解决办法
1295
查看次数

为什么有些交换机有上行端口?

因此,从表面上看,这似乎是一个网络管理员(服务器故障)问题,但我正在寻找网络黑客类型的低级答案.

在我开始暑期实习之前,我几乎忘记了网络在现实生活中的实际运作方式.然后,由于没有其他选择(实习是在一个非常以网络为中心的地方而且我必须将测试平台放在一起测试[以及其他]网络),我对它们变得熟悉.一方面,事实上没有"这出去了互联网!" 商用交换机上的端口有点令人惊讶,直到你推断它是如何工作的(开始就像一个集线器直到'学习'在物理端口方面的ips,我猜?).

在这个自制的自我发现(或可能是思考错误)之后,我回到了长住酒店,看着我便宜的小型家用交换机,它有一个上行端口.

现在我的问题,网络黑客(好的方式),为什么?

networking network-programming

2
推荐指数
1
解决办法
3万
查看次数