- 博客(16)
- 资源 (15)
- 收藏
- 关注
原创 Linux系统调用
1.比如,如果希望了解在执行pwd命令时都调用了哪些系统调用,可以使用下面的命令:$strace pwdchenliang@test:~$ strace pwdexecve("/bin/pwd", ["pwd"], [/* 21 vars */]) = 0brk(0) = 0x8733000access("/etc...
2019-05-26 22:51:41 474
原创 GCC扩展属性
linux内核修炼之道目录1. 宏定义类型表达式2. 零长度数组3. 可变参数宏4. 标号元素5.特殊属性(__attribute__)6. aligned(ALIGNMENT) 7. packed1. 宏定义类型表达式 #define min(x, y) ({\ typeof(x) _x=x;\ ...
2019-05-22 18:46:08 499
原创 netlink内核层与用户层之间通信
目录netlink api应用层api内核层apinetlink编码应用层编码内核层编码netlink案例应用层 [netlink_app.c]内核层 [netlink_driver.c]Makefile测试结果netlink api应用层api内核层apinetlink编码应用层编码内核层编码n...
2019-05-21 09:19:44 608 1
原创 快速排序算法(6)
目录快速排序算法原理快速排序算法的使用场景快速排序算法的实现快速排序算法的运行结果快速排序算法原理 快速排序算法首先会在序列中随机选择一个基准值(pivot),然后将除了基准值以外的数分为“比基准值小的数”和“比基准值大的数”这两个类别,再将其排列成以下形式。分割子序列时需要选择基准值,如果每次选择的基准值都能使得两个子序列的长度为原本的一半,那么快速排序的...
2019-05-19 23:41:59 159
原创 归并排序算法(5)
目录归并排序算法原理归并排序算法的使用场景归并排序算法的实现归并排序算法的运行结果归并排序算法原理归并排序算法会把序列分成长度相同的两个子序列,当无法继续往下分时(也就是每个子序列中只有一个数据时),就对子序列进行归并。归并指的是把两个排好序的子序列合并成一个有序序列。该操作会一直重复执行,直到所有子序列都归并为一个整体为止。归并排序中,分割序列所花费的时间不算在运行时间内...
2019-05-19 00:26:21 254
原创 插入排序算法(4)
目录插入排序算法原理插入排序算法的使用场景插入排序算法的实现插入排序算法的运行结果 插入排序算法原理 在插入排序中,需要将取出的数据与其左边的数字进行比较。就跟前面讲的步骤一样,如果左边的数字更小,就不需要继续比较,本轮操作到此结束,自然也不需要交换数字的位置。然而,如果取出的数字比左边已归位的数字都要小,就必须不停地比较大小,交换数字,直到它到达整个...
2019-05-17 00:01:32 193
原创 选择排序算法(3)
目录选择排序算法原理选择排序算法的场景选择排序算法的实现选择排序的运行结果 选择排序算法原理 选择排序就是重复“从待排序的数据中寻找最小值,将其与序列最左边的数字进行交换”这一操作的算法。在序列中寻找最小值时使用的是线性查找。选择排序使用了线性查找来寻找最小值,因此在第1轮中需要比较n-1个数字,第2轮需要比较n-2个数字……到第n-1轮的时候就只需比较...
2019-05-16 23:36:19 296
原创 冒泡排序算法(2)
目录冒泡排序算法原理冒泡排序算法的使用场景冒泡排序算法的实现冒泡排序算法的运行结果 冒泡排序算法原理 冒泡排序就是重复“从序列右边开始比较相邻两个数字的大小,再根据结果交换两个数字的位置”这一操作的算法。在这个过程中,数字会像泡泡一样,慢慢从右往左“浮”到序列的顶端,所以这个算法才被称为“冒泡排序”。在冒泡排序中,第1轮需要比较n-1次,第2轮需要比较n-2次……第...
2019-05-16 00:10:45 226
原创 排序算法分类(1)
本博客主要分析不同排序算法的原理及实现,具体排序算法包括如下几种:1. 冒泡排序2. 选择排序3. 插入排序4. 归并排序5. 快速排序6. 堆排序
2019-05-15 23:29:36 477
原创 算法
1. 排序 排序就是将输入的数字按照从小到大的顺序进行排列。1.1 冒泡排序 冒泡排序就是重复“从序列右边开始比较相邻两个数字的大小,再根据结果交换两个数字的位置”这一操作的算法。在这个过程中,数字会像泡泡一样,慢慢从右往左“浮”到序列的顶端,所以这个算法才被称为“冒泡排序”。案例:...... 在冒泡排序中,第1轮需要比较n-1次,第2轮需要...
2019-05-13 23:29:21 149
原创 SQLite事务并发访问问题?
//描述:执行命令 void ExecSqlCmd(sqlite3 *db, const char *sql, const char *pszThrdName){ int iRet; char *err_msg = 0; char buf[1024]; if ((iRet = sqlite3_exec(db, sql, NULL, 0, &err_msg)) != S...
2019-05-10 16:19:40 875
转载 SQLite可视化管理工具汇总(更新中)
SQLiteSpy最新版本1.9.8,重大改变,支持db拖拽SQLiteStudio最新版本3.0.3,重大改变,打开数据量较大的数据库速度明显改善,还有count查询,堪比SQLiteExpertSQLiteExpert 最新版本3.5.76,相信也更好用了,尚未体验,SQLiteStudio已经很满足了,推荐!【免费且保持更新】1、SQLiteSpy免费 单文件ht...
2019-05-10 08:56:57 4548
原创 为什么不用sqlite3_get_table获取数据?
问题:将16进制数据转换成字符串,然后插入到SQLite3数据库,通过可视化工具或sqlite3_get_table()可以正常获取数据,但16进制数据转换成字符串带来的问题是会导致NandFlash空间增大一倍,如16进制0x34转换成字符串后是0x33、0x34,占用两字节空间,在紧缺的NandFlash资源下是不允许的!所以入库的16进制数据需直接存储到数据库,而不进行字符串的转换之后再入库...
2019-05-09 19:52:25 1816 1
转载 C/C++混合编程出现:预编译头文件来自编译器的早期版本,或者预编译头为 C++ 而在 C 中使用它(或相反)问题的解决方案
今天试了一下C/C++混合编程,然后就出现了上面那个蛋疼的问题,去网上查了一下,发现原来是C语言和C++预编译头的问题。error:预编译头文件来自编译器的早期版本,或者预编译头为 C++ 而在 C 中使用它(或相反)英文版:fatal error C1853: 'pjtname.pch' precompiled header file is from a previous version...
2019-05-09 17:23:27 1367
转载 IEC规约流程分析
该规约在DF8900中规约号为104,在DF8002或DF1800系统中规约号一般为99,但也有个别现场因实际情况而不同.97版或2002版IEC104在流程上没有什么变化,只是扩展了遥测遥信等信息体基地址.. 索引项目 部分报文字节个数 参数地址范围 流程 常用类型标识 常用传...
2019-05-01 23:55:13 1541
原创 电力系统的遥测、遥信、遥控、遥调的含义
我们常听说的四遥功能由远动系统终端RTU实现,它包括: 遥测(遥测信息):远程测量。采集并传送运行参数,包括各种电气量(线路上的电压、电流、功率等量值) 和负荷潮流等。 遥信(遥信信息):远程信号。采集并传送各种保护和开关量信息。 遥控(遥控信息):远程控制。接受并执行遥控命令,主要是分合闸,对远程的一些开关控制设备进行远程控制。 遥调(遥调信息):远程调节。接受并执行遥调命令,...
2019-05-01 22:56:11 11667
http_client.txt
2019-11-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人