c语言内存分配

背景 网上的关于c语言内存分配的文章满天飞,先随便荡一份事例,但是从不同的角度讲一下这个案例 对于下面的代码生成的程序,基本采用如下命令反编译 objdump -M intel -s -d -x main.o | objdump -s -x -d -M intel a.out | nl -ba -M intel »

express.js 源码四探 —— application篇

本篇 本篇是这个系列的第四篇,谢谢各位的建议 环境 保持与之前的版本一致,源码版本是express.js 4.14.1 application源码 app.init 戳这里,初始化app的一些参数 //导出的是这个app实例 var app = exports = module.exports = {}; //这个后面再讨论,关于代理 var trustProxyDefaultSymbol = '@ »

C语言不完全类型、延迟定义

问题 今天看到《自制编程语言》里面的提到这个不完全类型,我还真不知道 细节 大概是这样的,不让别人知道我们代码内部实现细节 比如我们实现一个栈,我们把数据结构的定义放在头文件里面,然后别人include我们头文件的时候(并添加.o),就能看到具体细节,比如可能就会主动操作里面的num或者array,破坏封装性 #ifndef STACK_H #define STACK_H typedef struct Stack{ int »

大顶堆

题目 群里有个人发的,题目很简单 随手写的 //debug print function DB(obj) { // console.log(obj); } //debug print maxHeap function DBPMH(maxHeap) { if(!maxHeap || MaxHeap != maxHeap.constructor) { DB("DBPMH the »

express.js 源码二探 —— request篇

接上篇初探 上篇写的很乱,只是个人临时决定写的。主要试图从app.use和app.[method]之间区别着手,来解释express的中间件和路由的实现逻辑。 本篇 本篇很有可能依然保持上篇的发散性思维,所以各位读者可能要小心阅读,避免吐槽而亡。 环境 保持与上篇一致,源码版本是express.js 4.14.1 request源码 打开request.js,从上往下看代码 IncomingMessage var req »

ollydbg 试手 问题:i = i++

问题 很久以前准备写的一篇blog,当时只写了题目,调试用ollydbg搞的,最近才想起来要填坑 大概是问,如下c系语言 int i = 0; i = i++; 那么最终 i 的值是多少 调试环境 本来应该是ollydbg,但是现在电脑是64位,还是用ida pro 1.6 64位 codeblocks 16.01 »