01 2018 档案
摘要:这个问题很好回答,并且我把这个问题归结于基本概念题(就是入门书必须介绍的)。我想一般来说,做过内存管理的,对这个语言特性肯定不会陌生。摘几句The C Programming Language里面讲述这个问题的原话,以说明读书还是必要的:①联合就是一个结构,②它的所有成员相对于基地址的偏移量都为0,
阅读全文
摘要:#include int main(int argc, char *argv[]) { unsigned int umax=~0; if(umax == -1) ...
阅读全文
摘要:目前,计算机存储系统有2种存储格式,大端和小端。数据在内存中存储时以字节为单位,一个int类型有4个字节,这就导致是高字节对应低地址(大端模式),高字节对应高地址(小端模式)。大端和小端模式本身没有对错,也没有优劣,理论上都可以,于是,怎么搞的都有。比如:用大端的C51单片机,用小端的ARM,INT
阅读全文
摘要:根据c标准,char类型到底是有符号整数类型还是无符号整数类型,这取决于c实现,也就是c编译器的作者的想法:( 那么,如何快速的编写一个检测程序,查看当前编译器如何对char进行定义? 我的机子输出: 关键语句: (char)-1>0?"un":"" 含义:将-1强制转换为char类型,如果是无符号
阅读全文
摘要:国际标准组织发布c11后,gnu为自己的编译器发布两种标准gnu11和c11 gnu11:带gnu c扩展的c11标准,如果你的代码包含了typeof,__attribute__等等gnu的扩展,就必须用这个。 c11:这个就是纯c11的标准,不带gnu扩展。 可以在Makefile中声明: 或者,
阅读全文
摘要:为了硬件能够快速访问,数据在内存中要对齐(参考集装箱)。这里主要说一下结构体的对齐。 1、结构体内元素的大小,又下一个字节决定。 2、系统默认4个字节对齐方式。 输出结果:
阅读全文
摘要:printf函数没有这个功能,如果想打印一个数的二进制形式,就得自己计算。下面是我看到的最简便的算法: 1、如何理解 n&1<<i?1:0 ,加上括号: (n&(1<<i))?1:0 2、因为int类型有4个字节,所以也就是32位二进制,从bit0到bit31,所以,1<<i,就是将1位移31,然后
阅读全文
摘要:1、对一个数位与1是用来取位,n&1就可以将数字n最低位取出,如果n最低位是0(这里指n的二进制表示,所有的数在内存均是以二进制形式表示),那么表示n为偶数,因为最低位为0,表示可以整除2,这是二进制常识(如果不理解,可以看110,1230,350,201,29810这几个随机选的10进制数那些可以
阅读全文
摘要:当用vim写代码的时候,我喜欢一边看着头文件中结构的定义,一边编写实现的代码,这样就经常用到多窗口来编辑,查看文档。 1、同时打开多个文件,并横向排列 2、同时打开多个文件后纵向排列,如果没有使用参数o,那么可以在打开文件后操作 3、同一文件分割窗口。如果有一个很长的文件(几千行:)),你想看着前面
阅读全文
摘要:函数pow(x,y)实现运算x^y,即x的y次方,这里x和y都为整数。 算法的基本思想是,减少乘法次数,重复利用结算结果,例如: x^4,如果逐个相乘的话,需要四次乘法。如果我们这样分解(x^2)*(x^2)就只需要2两次乘法,因为x^2的结果我们可以重复利用。所以我们最好做对称的分解指数y,然后求
阅读全文
摘要:1. Unlock Bootloader是解除系统启动加载器(Bootloader)的原厂限制, 让用户可以使用到更多的功能(如刷新内核、刷ROM、修改超频....) Bootloader(系统启动加载器)是开机载入程序,最主要的作用是引导系统正确启动,它是Android操作系统(包括控制台)和手机
阅读全文
摘要:Fastboot是什么意思?从字面意思来讲,Fastboot是『快速启动』的意思。通常大家所讨论的Fastboot,通常都是说安卓手机的Fastboot模式。在安卓手机中fastboot是一种比recovery更底层的刷机模式。简单来说,就是使用USB数据线,连接电脑的一种刷机模式。这种刷机方式,我
阅读全文
摘要:小米手机解锁bl需要在官网提交申请,然后电脑解锁,具体步骤如下: 1、首先需要注册一个小米账号,并登陆。 2、到官网解锁网页提交申请:http://www.miui.com/unlock/index.html 3、申请后等待审核通过即可(正常在3天之内,注意小米手机4c由于硬件安全问题,需要等待5天
阅读全文
摘要:1、打开,设置->我的设备->全部参数 2、看到“MIUI版本”连点7次,在点击的过程中下部会有提示“在点X次就进入开发者模式”。 3、完成2步后,再次打开,设置->更多设置(系统和设备栏内)->开发者选项 4、进入开发者选项后,将USB调试(在调试栏内)打开。 5、插上数据线,将Note4X和电脑
阅读全文