- 博客(15)
- 资源 (2)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Makefile脚本文件
0.缘由多文件编程主文件(main函数所在的文件)往往只包含一些函数的调用。结构体的定义,函数的实现通常在不同的文件中,这时就需要主文件包含一些头文件,标准c库的头文件不用多说,如果是自己定义了头文件,函数的实现过程放到对应的.c文件中,这时候想要编译生成可执行文件,必须和对应头文件的.c文件一起编译。后期如果修改某些文件,还要全部编译,不利于维护。1.概述通常来说,一个工程中的源...
2020-02-28 20:42:12
2659
8
原创 ubuntu软件源之source.list文件内容
1.备份source.list文件sudo cp /etc/apt/sources.list /etc/apt/sources1.list2.修改source.list文件#网易的源deb http://mirrors.163.com/ubuntu/ raring main universe restricted multiversedeb-src http://mirrors.163...
2020-03-21 12:45:52
447
原创 zigbee之OSAL操作系统
概述OSAL(Operating System AbstractionLayer),即操作系统抽象层。OSAL是一种基于事件驱动的轮询式操作系统,所提供的管理功能有:(1)任务登记、任务初始化、任务触发(2)任务间消息传递(3)任务同步(4)中断处理(5)计时器(6)内存分配**osal_run_system()**不断轮询遍历所有任务事件,事件被置位后就会被调度执行该任务:...
2020-03-20 22:29:22
1472
原创 网络分层结构
网络模型分四层和七层模型。七层模型应用层:指的是具体的应用程序表示层:将计算机能识别的数据转换成人能识别的数据会话层:识别网络的中通信链路,确保网络链接正常传输层:负责端口的数据封装与解封装,识别的端口,进程和进程间的通信网络层:负责IP数据的包的封装与解封装,识别IP地址,主机和主机之间的通信数据链路:负责帧数据的收发,识别网卡地址,设备和设备通信(帧数据:能在网络中独立传输的...
2020-03-18 22:16:32
570
原创 c指针和c++引用
指针和引用的区别指针是一个实体,而引用仅是个别名;引用使用时没有 * ,指针使用时需要取地址中的内容 * ;引用只能在定义时被初始化一次,之后不可变 、指针就是指向一块地址空间,初始化后可以改变指向;(即引用的底层实现是常量指针)引用没有只不只读的区分,指针有(const 修饰),其中又分为修饰自身类型和指向性类型;引用不能初始化为空,指针可以;“sizeof 引用”得到的是所指向...
2020-03-16 21:00:57
191
原创 bool类型之C语言不支持之解决方法
bool类型可以通过枚举自定义,枚举变量默认从0开始自加。typedef enum {flase,true} bool; //假为0,真为1,所以这样设置比较人性化eg:typedef enum {flase,true} bool;int main(int argc, char *argv[]){ bool flages = flase; printf("flages = %d...
2020-03-12 18:01:07
2612
1
原创 SQLite数据库之SQL语句提高
接着上一篇SQL数据库。1.函数和聚合SQL语句支持利用函数来处理数据,函数一般是在数据上执行的,它给数据的转换和处理提供了方便。常用的文本处理函数:length() 返回字符串的长度lower() 将字符串转换为小写upper() 将字符串转换为大写select * upper(addr) from person; //保存大写地址select id,lengt...
2020-03-09 22:27:28
243
原创 SQLite数据库
1.SQLite数据库简介SQLite 是一个开源的、内嵌式的关系型数据库,第一个版本诞生于 2000 年 5 月,目前最高版本为 SQLite3。学习网站:http://www.runoob.com/sqlite/sqlite-tutorial.html安装方法:( 我用的是ubuntu12.04)字符界面:sudo apt-get install sqlite3图形界面:s...
2020-03-08 12:29:22
2086
原创 网络通信之大小端、字节序转换函数
在上篇文章中我们提到了UDP,TCP有关函数,并知道了一个重要的结构体struct sockaddr。想要实现通信首先要知道通信端的地址,所以首先了解一下IPv4套接字地址结构体。//IPv4 套接字地址结构体,用来存放地址信息struct sockaddr_in //此结构体大小是16字节{ sa_family_t sin_family; //2 字节 协议族(AF_INE...
2020-03-06 21:05:20
2625
原创 TCP、UDP有关函数
首先看一下上一篇三次握手四次挥手文章中提到的原理图。其中的read对应的就是recv函数,write对应的就是send函数。步入正题,函数的使用:1.TCP客户端socket : 创建套接字函数原型:int socket(int family,int type,int protocol);功能:创建一个用于网络通信的socket套接字(描述符)参数: @family :...
2020-03-05 21:48:50
1820
原创 TCP之C/S模型之三次握手四次挥手
0.了解两种开发模型C/S模型client/server<------->客户端/服务器:QQ、微信重心在客户端和服务器上,用户群固定,安全系数高。有连接的过程:建立连接---->使用连接----->释放连接 (类似于电话)B/S模型browser/server<---------->浏览器/服务器:webQQ、移动开发重心在服务器上,用户群...
2020-03-04 08:14:59
473
2
原创 strlen和sizeof的区别
首先看个例子:void fun(){ //首先定义三个字符数组 char str1[16] = "guanzhu woya"; char str2[] = "guanzhu woya"; char str3[] = "guanzhu\0woya"; printf("%d\n",sizeof(str1)); //16 printf("%d\n",sizeof(str2)); //...
2020-03-02 14:31:31
249
原创 gcc编译器
在 windows 操作系统,通常情况下用带有集成开发环境的软件编译。在 Linux 操作系统,没有很好的集成环境让我们用,用的编译器是 gcc。编译过程gcc编译过程分为4个阶段:预处理、编译、汇编、链接。预处理:头文件包含、宏替换、条件编译、删除注释gcc -E main.c -o main.i 编译:主要进⾏行行词法、语法、语义分析等,检查⽆无误后将预处理理好的⽂文件编译成...
2020-02-29 19:29:36
1505
1
原创 设备树基本概述
1.设备树设备树(Device Tree)是一种描述硬件的数据结构。作用:提供设备信息。时间:在操作系统引导阶段进行设备初始化的时候,数据结构中的硬件信息被检测并传递给操作系统。设备树源文件(xxxx.dts) DTC编译 设备树二进制文件(xxxx.dtb)2.设备树基本语法设备树的基本单元是节点(node),这些node被组织成树状结构,除了root node...
2020-02-27 22:48:51
5666
2
原创 platform总线
1、什么是platform总线?相对于USB、PCI、I2C、SPI等物理总线来说,platform总线是一种虚拟、抽象出来的总线,实际中并不存在这样的总线。那为什么需要platform总线呢?其实是Linux设备驱动模型为了保持设备驱动的统一性而虚拟出来的总线。因为对于usb设备、i2c设备、pci设备、spi设备等等,他们与cpu的通信都是直接挂在相应的总线下面与我们的cpu进行数据交互的,...
2020-02-26 19:24:39
2268
1
数据库SQL语句和c编程基础.doc
2020-03-08
ubuntu更新源.docx
2019-12-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人