
c语言
文章平均质量分 56
dai__liang
这个作者很懒,什么都没留下…
展开
-
Redis0.1源码阅读笔记(一)
准备工作从网络上下载了redis-0.1的代码,这个版本代码量少,容易看懂也包含了作者开发redis最初的很多基础的想法和理论,是比较好的源码阅读材料。从Redis源码下载地址下载后,解压到自己指定的目录。进入目录执行make,生成三个可执行文件 redis-benchmark(redis压力测试程序), redis-server(redis服务程序), redis-cli(redis客户端程序)目录介绍文件名简介client-libraries对各种语言API接口支持的实现原创 2021-02-04 15:15:24 · 397 阅读 · 0 评论 -
C语言与Linux文件操作
函数#include <stdio.h>FILE *fopen(const char *path, const char *mode);#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>int open(const char *pathname, int flags);int open(const char *pathname, int flags, mode_t mode原创 2021-01-15 10:56:59 · 134 阅读 · 0 评论 -
标准输入输出函数%[]和%n说明符的使用方法
标准输入输出函数scanf具有相对较多的转换说明符,它常常作为入门级函数出现在各种教材中。但奇怪的是,[]和n这两种都为c89/c99所规定的标准说明符却鲜少在大多数教材中出现。虽然[]和n说明符的使用频率不及其它说明符,但两者在程序设计中的作用仍然不可小视,尤其是[]说明符。众所周之,scanf以空白字符为定界符,但如果输入的字符串是以其它字符为定界符的,那怎么办?[]就是专门处理这个问题的转换说明符。[]转换说明符可以通过两种方式产生结果字符集,如果第一个[字符右边没有抑扬符(^),那么处于[]之间的原创 2020-12-04 17:17:51 · 594 阅读 · 0 评论 -
理解C语言函数声明:复杂指针解析之右左法则
简介The right-left rule: Start reading the declaration from the innermost parentheses, go right, and then go left. When you encounter parentheses, the direction should be reversed. Once everything in the parentheses has been parsed, jump out of it. Continue原创 2020-12-04 16:54:49 · 201 阅读 · 0 评论 -
gcc的-g选项做了哪些操作
如果想用调试器执行一个可执行文件, 在用gcc编译时必须加上-g选项:gcc -o test test.c -g加上-g选项以后,gcc在编译是会做以下额外的操作:1. 创建符号表,符号表包含了程序中使用的变量名称的列表。2. 关闭所有的优化机制,以便程序执行过程中严格按照原来的C代码进行...原创 2020-09-01 14:32:18 · 5412 阅读 · 0 评论 -
C语言内存知识
一直都把堆栈放一起,所以很多人会误以为他们的组合是一个词语,就像“衣服”一样简单,其实不然,今天在下就将最近学习总结的一些与大家分享。一个由C/C++编译的程序占用的内存分为以下几个部分: 1、栈区(stack):又编译器自动分配释放,存放函数的参数值,局部变量的值等,其操作方式类似于数据结构的栈。 2、堆区(heap):一般是由程序员分配释放,若程序员不释放的话,程序结束时可能由OS回收,值得注意的是他与数据结构的堆是两回事,分配方式倒是类似于...原创 2020-07-23 10:12:41 · 393 阅读 · 0 评论 -
gcc 库文件细节知识个人汇总
包含多个头文件查找路径 -I/home/a/1/include -I/home/a/2/include"“"test.h"1.到c代码的目录找 2.到环境变量里目录里找 3.到编译时-I参数指定的目录里找<test.h> gcc 只在环境变量目录里找 找不到即失败 vc 现在环境变量里找,找不到在尝试其他的目录GCC在链接多个库时,如果库本身存在引用,例如 A.a引用了B.a的函数,则在GCC参数上 -lA要放在-lB的前面,...原创 2020-07-21 16:01:52 · 193 阅读 · 0 评论 -
C语言的预处理相关知识
预处理, 展开头文件/宏替换/去掉注释/条件编译 (test.i main .i)__LINE__表示正在编译的文件的行号__FILE__表示正在编译的文件的名字__DATE__表示编译时刻的日期字符串,例如: "25 Dec 2007"__TIME__表示编译时刻的时间字符串,例如: "12:30:55"__STDC__ 判断该文件是不是定义成标准 C 程序 ...原创 2020-06-15 14:35:26 · 189 阅读 · 0 评论