Intel CPU的微架构
一张表格让你了解Intel的CPU微架构历史。
一张表格让你了解Intel的CPU微架构历史。
写数组越界之后会发生什么事情呢?
先看一段代码,
在python中运行外部程序一般会用到subprocess模块。subprocess模块的Popen类可以方便的创建一个子进程。但是Popen并不会预先读入~/.bashrc中的环境变量,即使指定用bash运行外部程序。如果需要引用.bashrc中的一些环境变量,比如PATH,或者alias定义,怎样才能实现呢?
最近在写一个简单的HTTP客户端/服务器端。在验证服务器端的时候,用到了telnet工具。但是在每次telnet连接的时候,都会有数秒的延迟。按说telnet连接到本地,不会有网络延迟存在。那这几秒的延迟出在哪个环节上呢?
最近调试OpenSSL的证书验证功能,遇到了一个诡异的linux库的链接问题。
本文涉及的内核代码版本为2.4.0。(其余文章如不作特殊说明,也使用该版本代码。)
汇编在linux内核中比重不大,但是很难啃。一部分原因在于汇编指令,某些有段时间不看就忘记了。另外一部分原因是C中内联汇编比较难懂。这里做个小结,方便以后复习汇编知识。
最近用libcurl库的时候遇到一些问题,想用GDB深入跟踪库的源代码。奈何系统自带库一则不附源码,二则编译的时候加过优化选项,没法用GDB深入调试。捣鼓了半天,找到了调试系统库的办法。
如果我们需要函数返回结构体,一般会使用返回指针的方式。今天看到有库函数直接返回结构体,不禁很好奇这如何能够实现。因为X86平台上一般用eax/rax寄存器存放返回值,一个结构体可以很大,寄存器如何放的下?