LINUX C
Homekit2015
这个作者很懒,什么都没留下…
展开
-
ubuntun无法安装 libsdl2-dev
sudo apt-get install libsdl2-devReading package lists... DoneBuilding dependency tree Reading state information... DoneSome packages could not be installed. This may mean that you havereque...转载 2019-03-10 13:13:30 · 7034 阅读 · 3 评论 -
按键设为外部中断的一些情况
当把按键设为外部中断时,存在按键抖动问题:情况一没有按按键的时候,按键有时也会因为震动等原因误触发按键事件(或者松手的时候),引起程序误判解决方法1:并上一个小电容(比如0.1uF)即可解决。解决方法2:延时检测,检测到按键中断后延时50ms判断这个引脚电平,然后再做进一步处理。情况二按下按键时,由于按键本身的结构或质量问题、操作者的发力问题等,在操作者按下一次按键的过程中,实际上触发...转载 2019-03-09 18:26:44 · 1701 阅读 · 0 评论 -
哈希查找-C语言
六种哈希函数的构造方法:(1)直接定址法 函数公式:f(key) = a * key + b(a,b为常数) 这种方法的优点是:简单、均匀,不会产生冲突。但是需要事先知道关键字的分布情况,适合查找表较小并且连续的情况。(2)数字分析法 也就是取出关键字中的若干位组成哈希地址。比如我们的11位手机号是“187****1234”,其中前三位是接入号,一般对应不同的电信公司。中间四...转载 2019-01-07 14:23:55 · 450 阅读 · 0 评论 -
linux valgrind内存泄漏
valgrindValgrind is an instrumentation framework for building dynamic analysis tools. There are Valgrind tools that can automatically detect many memory management and threading bugs, and profile you...转载 2018-12-29 16:53:52 · 738 阅读 · 0 评论 -
C预处理及编译
一、C语言由源代码生成的各阶段如下:C源程序->编译预处理->编译->优化程序->汇编程序->链接程序->可执行文件 其中 编译预处理阶段,读取c源程序,对其中的伪指令(以#开头的指令)和特殊符号进行处理。或者说是扫描源代码,对其进行初步的转换,产生新的源代码提供给编译器。预处理过程先于编译器对源代码进行处理。 在C 语言中,并没有任何内在的机制转载 2014-12-22 16:19:04 · 508 阅读 · 0 评论 -
宏定义中 续行符“\”和字符连接符“##”
把一个预处理指示写成多行要用“\”续行,因为根据定义,一条预处理指示只能由一个逻辑代码行组成。而把C代码写成多行则不必使用续行符,因为换行在C代码中只不过是一种空白字符,在做语法解析时所有空白字符都被丢弃了。在Linux的shell命令中亦可使用该换行符,在击回车键之前输入“\”,即可实现多行命令输入。注意:这种续行的写法要求“\”后面紧跟换行符,中间不能有任何其他的字符。转载 2013-02-03 21:33:14 · 1866 阅读 · 0 评论 -
typedef和#define的用法与区别
typedef和#define的用法与区别一、typedef的用法在C/C++语言中,typedef常用来定义一个标识符及关键字的别名,它是语言编译过程的一部分,但它并不实际分配内存空间,实例像:typedef int INT;typedef int ARRAY[10];typedef (int*) pINT;typedef可转载 2014-08-06 14:02:26 · 471 阅读 · 0 评论 -
AT指令发送短信流程
一、英文短信发:AT收:OK发:AT+CMGF=1 收:OK发:AT+CMGS=13902433649收:>发:data→ //test 为发送内容,→为发送符(ctrl+z,十六进制0x1A)收:+CMGS: 54 OK二、中文PDU短信本文以一个实例来解说AT指令发送PDU短信的全过程,假如我要发送下面的短信:接收号码:+861390243364转载 2014-04-12 21:58:38 · 818 阅读 · 0 评论 -
C语言文件操作
当文件按指定的工作方式打开以后,就可以执行对文件的读和写。下面按文件的性质分类进行操作。针对文本文件和二进制文件的不同性质,对文本文件来说,可按字符读写或按字符串读写;对二进制文件来说,可进行成块的读写或格式化的读写。1. 读写字符C提供fgetc和fputc函数对文本文件进行字符的读写,其函数的原型存于stdio.h头文件中,格式为:int fgetc(FILE *stream)转载 2013-08-08 22:16:01 · 708 阅读 · 0 评论 -
指针p,*p,&p之间的区别
假设我们定义一个指针p。那么会经常使用到三个符号:1,p;//p是一个指针变量的名字,表示此指针变量指向的内存地址,如果使用%p来输出的话,它将是一个16进制数2,*p;//*p表示此指针指向的内存地址中存放的内容,一般是一个和指针类型一致的变量或者常量。3,&p;//&是取地址运算符,&p就是取指针p的地址等会,怎么又来了个地址转载 2013-10-24 23:44:36 · 3370 阅读 · 1 评论 -
#if、#ifdef、#if defined之间的区别
#if的使用说明#if的后面接的是表达式#if (MAX==10)||(MAX==20)code...#endif它的作用是:如果(MAX==10)||(MAX==20)成立,那么编译器就会把其中的#if 与 #endif之间的代码编译进去(注意:是编译进去,不是执行!!)#if defined的使用#if后面接的是一个宏。#if defined (转载 2013-01-17 17:59:48 · 432 阅读 · 0 评论