发布时间:2018-10-05 22:50:49
LTE的MAC和TCP/IP的MAC以及驱动协议的MAC的区别和关系?个人理解:首先,都是按照IOS七层模型设计自己的层级结构模型(ISO是一个开放性的通信系统互连参考模型),所以都会有MAC、PHY的概念。另外,关于LTE的MAC和TCP/IP的MAC:LTE的MAC是属于L2(PDCP RLC MAC),LTE的PHY可以理解为L1(PHY)。TCP/IP中的链路层,对应到IO.........【阅读全文】
发布时间:2018-04-17 00:52:00
选自:调用malloc时发生了什么 Linux内存分配小结--malloc、brk、mmap点击(此处)折叠或打开brk() and sbrk() change the location of the program break, which defines the end of the process's data segment (i.e., the program break is the first location af.........【阅读全文】
发布时间:2018-02-22 16:38:58
fgets从文件流stream中读取少于size个字符到缓冲区s中,直到出现换行符"\n"或者end-of-file符时结束操作,遇到"\n"时任将其保存到s中,自动在s的最后加"\0"。特别注意:读入过程中遇到EOF或发生错误,函数返回NULL指针。当返回值为NULL指针时可以用 feof() 和 ferror() 来判断函数是遇到EOF还是发生错误。fscanf返回.........【阅读全文】
发布时间:2018-02-22 16:22:26
原文:宏定义中使用do{}while(0)的好处#define MACRO_NAME(para) do{macro content}while(0)的格式,总结了以下几个原因:1,空的宏定义避免warning:#define foo() do{}while(0)2,存在一个独立的block,可以用来进行变量定义,进行比较复杂的实现。3,如果出现在判断语句过后的宏,这样可以保证作为一个整体来是实现.........【阅读全文】
发布时间:2017-11-14 19:58:26
1、给代码传入宏定义开关。转自:如何给Make命令来传递参数比如,你在代码里面需要定义一个宏DEBUG来打开调试开关,代码如下:点击(此处)折叠或打开int main(){ int i=9; #ifdef DEBUG.........【阅读全文】