28
2019
09

失传的 C 结构体打包技艺

转自:https://github.com/ludx/The-Lost-Art-of-C-Structure-Packing作者:Eric S. Raymond原文链接:http://www.catb.org/esr/structure-packing谁应阅读本文本文探讨如何通过手工重新打包 C 结构体声明,来减小内存空间占用。你需要掌握基本的 C 语言知识,以理解本文所讲述的内容。如果你在内存容量受限的嵌入式系统中写程序,或者编写操作系统内核代码,就有必要了解这项技术。如果数据集巨大,应用时常
28
2019
09

编译器的工作流程

众所周知,在 CPU 的眼里只有 1 和 0,虽然简单,但它们却构造出了世界上人类最难理解的语言 —— 机器语言。因此,想要让计算机运行你的代码,你必须将你的源代码“翻译”成 CPU 认识的语言才行。下边小甲鱼以 GCC 为例,尝试给大家讲下编译器的工作流程!要将 C 语言翻译成机器语言,简单来说需要两个步骤:编译 -> 链接对于 GCC 来说,执行 gcc test.c 命令,其实相当于依次执行下面四个步骤:预处理(Pre-Processing)-- 对 C 语言进行预处理,生成 tes
25
2019
09

四级口语

四级听力的特点比如:
15
2019
09

c语言运算符的优先级

并不是真正意义上的运算符,包括:数组下标,函数调用操作符各结构成员选择操作符单目运算符双目运算符:算术运算符>移位运算符>关系运算符(==和!=的优先级要低于其他关系运算符的优先级)>逻辑运算符(&>异或>|)>赋值运算符三目运算符:条件运算符逗号运算符
14
2019
09

strncpy函数

 char *strncpy(char *dest, const char *src, size_t n) 把 src 所指向的字符串复制到 dest,最多复制 n 个字符。当 src 的长度小于 n 时,dest 的剩余部分将用空字节填充。返回值:该函数返回最终复制的字符串。把str1中5个字符复制给str2,但是str2不会自己加个\0,所以一定要给str2加个结束符注意:strncat和strncmp中的n类似的意思
14
2019
09

memset函数

定义变量时一定要进行初始化,尤其是数组和结构体这种占用内存大的数据结构。在使用数组的时候经常因为没有初始化而产生“烫烫烫烫烫烫”这样的野值,俗称“乱码”。memset() 函数可以说是初始化内存的“万能函数”,通常为新申请的内存进行初始化工作,memset() 的作用是在一段内存块中填充某个给定的值。因为它只能填充一个值,所以该函数的初始化为原始初始化,无法将变量初始化为程序中需要的数据。用memset初始化完后,后面程序中再向该内存空间中存放需要的数据。该函数的原型为:# include &l
14
2019
09

fgets函数

fgets() 的原型为:# include <stdio.h>char *fgets(char *s, int size, FILE *stream);fgets函数最多可以读取size-1个字符,因为结尾处会自动添加一个字符串结束符“\0"。当读取到换行符或者文件结束符(EOF)时,表示结束读取它的功能是从 stream 流中读取 size 个字符存储到字符指针变量 s 所指向的内存空间。它的返回值是一个指针,指向字符串中第一个字符的地址。返回值:返回值:1. 如果函数
09
2019
09

Java中的JVM,JRE,JDK的关系

JVM(Java虚拟机)JRE(java运行环境)光有JVM还不能让class文件执行,因为在解释class的时候JVM需要调用解释所需要的类库lib。lib中则是jvm工作所需要的类库。在JDK的安装目录里你可以找到jre目录,里面有两个文件夹bin和lib,jvm和lib合起来就称为JRE,JDK(java开发工具包)JDK的安装目录。在目录下面有六个文件夹、一个src类库源码压缩包、和其他几个声明文件。其中,真正在运行java时起作用的是以下四个文件夹:bin、include、lib、jr
08
2019
09

python的bif

bif内置函数的意思,就是python自身提供的函数功能,编程者直接使用即可,在python或者IDLE Shell中使用dir(__builtins__)命令查看python的内置函数当编程者需要某个bif的介绍的时候,可以通过语句help(xx)的形式查看python提供的介绍
08
2019
09

进入python3的大门

python可以跨平台,是面向对象的解析性程序设计语言,IDLE是一个python shell,shell的意思就是“外壳”,基本上来说,就是一个通过键入文本与程序交互的途径>>>是提示符,意思是告诉我们python已经准备好了,在等你键入python指令#是注释的符号快捷键alt+N  回到上一条语句快捷键alt+p 到下一条语句