有个朋友问我说写的挺好,但是不知道怎么实践。我本来说看看Sqlite源码,但想想对于新手直接看源码还不现实的。和几个朋友讨论了下这个问题,发现了一个野鸡网站,里面有一个关于I/O存储的题。看了下题目设计和评测规则,挺靠谱的,新手去写写这个题对I/O优化很应该能有很大提升。这里是链接,大家可以去看看,感觉这题好好做做再去看Sqlite,就没有那么困难了。
相信每个程序员都往磁盘写过数据,然而写磁盘的过程到底发生了什么呢?这次我就来带领大家来一次大冒险。
示例代码
这段代码的作用就是往一个data文件中写入Hello, World!。我们就以这段C代码和Linux系统(内核版本4.X)为例子来讲解。
#include <stdio.h>
int main() {
FILE* f = fopen("data", "w+");
fputs("Hello, World!", f);
fclose(f);
}
API到系统调用
编写应用程序一般是调用API(应用编程接口)来完成。虽然API这个词已经被滥用了,但最初API的思想在于封装系统调用(System Call),让系统调用对用户透明。因为系统调用既然叫系统调用,就说明是和操作系统相关的

最低0.47元/天 解锁文章
732





