自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(65)
  • 资源 (3)
  • 收藏
  • 关注

原创 移植openssl到32位的mips核心板上的详细步骤及遇到的问题解决

概述:因工作需求,需要移植openssl开源库到mips架构的核心板上。所以,就开始移植吧。上位机环境:ubuntu14.04 64位 核心板: mips linux 32位1,openssl移植。 先下载源码,这是开源库直接去官网自己下载就行啦。我下载的openssl-1.1.0g版本。然后参考这篇博客来进行移植。 我们进入源码目录,执行config脚本,我这里写了个运行c

2017-12-05 14:09:03 2545 3

原创 Chrome,IE等浏览器主页被hao123等篡改的解决方法

概述:今天自己装了一个破解版的软件,然后我电脑上所有浏览器主页都被篡改了,不管是chrome,IE,搜狗全部中招。MD Fuck,忍不了啊,上网搜解决方法。然后一步一步试吧。最后问题解决了,但是在网上找到的答案并不完整,我还算对电脑熟悉,摸索摸索所以还算是能看懂。对于大部分人,可能看那些并不能完全看懂但又想解决。所以我就把详细的步骤记录下来,希望我的这篇记录可以帮到你!Peace&Love!

2017-11-30 18:27:25 51267 7

原创 移植libjpeg-turbo库到mips32架构跑openwrt系统的开发板上

概述:之前博客中。我们在ubuntu14.04中安装了libjpeg-turbo库,现在我们把库移植到我们的核心为mips架构的开发板上,也算是一个笔记,这样也便于后期翻看。开发板是跑openwrt系统的,下面内容都是基于交叉编译环境等都搭建好的情况下进行的移植。其实移植道理都是一样的,所以如果是不同的开发板,也可参考。1,github下载源码$ git clone https://github.c

2017-11-28 16:18:41 1781

原创 使用libjpeg-turbo库中的TurboJPEG API实现图片解压,缩放及压缩功能

概述:前一篇博客中说到libjpeg-turbo的使用,有一些错误也在前篇博客中纠正了,现在呢,就用TurboJPEG API实现图片的解压,缩放,压缩。1,直接上代码(简单粗暴,重要代码都加了注释,我就不多费口舌了)#include <stdio.h>#include <stdlib.h>#include <sys/time.h>#include <unistd.h>#include <s

2017-11-28 15:25:49 12338 1

原创 使用libjpeg-turbo库中兼容的libjpeg库解压一张jpg并缩放压缩保存到文件

概述:之前,安装了libjpeg-turbo库,它是兼容libjpeg库中的v8版本的。现在,先使用libjpeg库完成一张jpg图片的解压,缩放,压缩。之后再用libjpeg-turbo库实现相同功能,我们再对比它们的压缩速度。确定是不是turbo比libjpeg要快。今天,就是先一个libjpeg的使用demo了。/**************分割线**********************/

2017-11-27 16:55:26 3750 3

原创 Ubuntu 安装libjpeg-turbo库

概述:简单说一下libjpeg-turbo和libjpeg的区别,这是在维基百科上看的。libjpeg-turbo是libjpeg的一个复刻,它采用单指令流多数据流(SIMD)指令来加速JPEG编码和解码基础效率。许多项目现在使用libjpeg-turbo而不是libjpeg。我也是看了这个,又看到很多人推荐libjpeg-turbo,所以自己也就装了一个。那么现在就看看如何安装吧。1,github

2017-11-25 14:58:56 23064 13

原创 哈希表C开源的uthash的简单初步封装(二)

概述:在上一篇博客中,简单封装了key为int类型的哈希表的增删,遍历等函数,但是在上一篇封装中,函数均是可见的,可能并不安全,所以这一次就将函数封装到结构体,像使用c++一样,直接通过结构体就可以运行函数。所有函数操作都是静态的,这样操作更加方便快捷。此次封装了key为int, char[],char * , void *四种类型的哈希表结构。在多线程中,依旧是不安全的,后期有时间会加入互斥锁,读

2017-11-22 15:08:39 867

原创 哈希表C开源的uthash的简单初步封装(一)

概述:在自己项目中,数据处理过程我们或多或少可能都会用到哈希表,而自己去实现麻烦,效率又低。我就找了开源库uthash,这个库哈希表的实现,就是一个头文件(uthash.h)就实现了。但在我们具体使用,可能还是需要自己再封装一层,这样用起来可能更加方便简洁一些。因为也是刚接触这个一天,所以就先自己需要,封装了一个支持key值为int类型的哈希表。1,创建了一个sky_hash.c和一个sky_has

2017-11-21 10:58:43 1279

原创 一个通用简单线程池实现的初步封装(C语言)

概述:之前总是听别人说线程池,一直没接触过,借业余时间学习了一下,现在自己简单的封装了一下,也只是在学习的层面,用到实际操作可能还需很多优化修改。1,先看封装的结构体吧,sky_pool.h文件内容,主要就是定义封装了一下线程池所需用到的参数等。#ifndef _SKY_POOL_H_#define _SKY_POOL_H_#include <stdint.h>#include <pthread

2017-11-20 09:56:43 758

原创 Linux下Socket编程中注意的几个问题及要点总结

概述:在学习linux下socket编程中,我遇到了一些问题和自己感觉比较重要的一些知识点,这边做一个总结,当作是学习笔记,也算是一个记录,以便以后翻阅吧。 问题及要点: (1)bind error : Address already in use .地址绑定错误问题。 (2)大端小端字节序,网络字节序。 (3)URL(域名)转化问题。 (4)读写函

2017-11-01 15:43:28 1797

原创 基于MQTT协议的Mosquitto的使用及libmosquitto客户端编程

概述:工作之余学习mqtt,使用开源的Mosquitto实现mqtt的使用。如:broker(服务器/代理),消息订阅及发布。系统环境:ubuntu14.041,MQTT简介 MQTT 是一个轻量级协议,使用基于 TCP/IP 协议的发布/订阅消息转发模式,在物联网应用中大规模使用。 MQTT 协议的中心是 broker( 服务器/代理) ,客户端通过订阅消息和发布消息进行数据交互 ,如下

2017-09-05 19:36:03 29102 17

原创 openwrt系统,作为路由器使用,跨网段nfs挂载共享目录

概述:目前使用openwrt系统的路由方案,现在实现路由器下设备可以挂载路由器的nfs共享目录,并且实现在同一个交换机下的设备和路由器,设备可以挂载路由器的nfs共享目录(跨网段挂载)。 具体实现方案: 1,编译内核时,开放nfs功能 内核开放nfs功能,这个就不细讲太多,主要就是make menuconfig下配置文件系统中的网络文件系统下,打开nfs server相

2017-08-25 10:25:51 8590

原创 嵌入式uboot,内核启动通过nfs挂载根文件系统

概述 嵌入式移植学习第二个内容,通过nfs挂载根文件系统。也是自己第一次做,也遇到了一些问题,但最后还是都解决了。在此记录一下整个流程,也希望能够给别的初学者一个参考。 系统环境 PC端 linux :ubuntu 14.04 嵌入式端 君正: halley2开发板(x1000) 总体思路 pc端搭建nfs服务———->开发板端uboot配置内核加载

2017-08-19 14:25:06 5956 2

原创 嵌入式Uboot,通过tftp进行内核镜像的加载及flash写入

概述 今天主要完成的是利用uboot下tftp进行内核镜像的加载及写入flash中。算是学习笔记,也是自己第一次玩这个,记录一下。 系统环境 pc端:linux : ubuntu14.04 嵌入式端: 君正:halley2开发板 总体思路 pc端搭建tftp服务器——->开发板端uboot网络配置及tftp连接下载镜像到内存——>内核镜像加载或写入flas

2017-08-18 17:50:25 1875

原创 windows下挂载虚拟机下的linux目录实现复制粘贴访问---samba服务器使用

1,系统环境 linux : ubuntu14.042,samba安装sudo apt-get install samba3,samba配置 配置文件在/etc/samba/smb.conf,在修改配置文件时可以备份一份原始文件,防止修改错误导致出现问题,可以回滚。 (1)共享目录配置sudo vim /etc/samba/smb.conf在文件末尾添加[sky_se

2017-08-16 13:37:58 924

原创 QT简易计算器--表达式计算核心算法(二)

概述:上篇我主要介绍了用QT做计算器的整个流程,这次主要就是分析一下,计算器表达式计算的算法部分。因为也找了很多别人写的代码,但大多都是只支持个位数的加减乘除,小数也不支持,所以就在原有框架上,修改,优化,让其满足我想要的功能。 1,表达式计算思路。 表达式数据操作符分割–>转为逆波兰表达式–>计算逆波兰表达式值–>输出结果。 2,表达式计算详解。 (1)表达式数据操作符分割

2017-08-12 11:01:44 3305 2

原创 QT,计算器实现(四则运算,括号,小数,负数)---(一)

初学Qt,制作一个简单计算器。 先上效果图: 上面显示框,用于显示输入: 如:1*2-(3-8)+2*6 按下等于键,下面显示框显示输出结果: 1,计算器界面设计 因为本人初学,就直接在ui界面画出所需界面了,如下: 在界面画好之后,记得要布局,让其界面一直处于居中状态,另外可以右键,选择修改每个控件名字,便于对各个控件编程。 2,总体设计思路。 由界面设计

2017-08-11 16:10:51 8891 2

原创 yuyv图像转rgb后转bmp的一个简单demo

yuyv转rgb的公式: r = 1.164*(y-16) + 1.159*(v-128); g = 1.164*(y-16) - 0.380*(u-128) - 0.813*(v-128); b = 1.164*(y-16) + 2.018*(u-128);#include <fcntl.h>#include <stdlib.h>#include <sys/ioc

2017-08-05 16:16:46 2091 2

原创 UDP协议服务器、客户端使用实例Demo

服务器:#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unistd.h>#include <ctype.h>#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>#incl

2017-07-29 12:16:54 1019

原创 一个最小堆简单定时器的实现demo

#include <stdio.h>#include <stdlib.h>#include <sys/time.h>#include <time.h>#include <unistd.h>#define HEAP_SIZE 100typedef struct Heap_t Heap_t;typedef struct Timer_t Timer_t;typedef struct Ti

2017-06-09 17:13:32 1969

原创 C语言读取及修改简单配置文件内容

运行环境:ubuntu14.04此方式适合小的配置文件,不适合大型文件。假如有文件内容为: IP=192.168.1.20 MASK=255.255.255.0 DNS=192.168.1.1#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unistd.h>#include <stdint.h>#def

2017-06-06 10:36:56 8268

原创 Linux下pthread_cond_wait()多线程同步实例

使用pthread_cond_wait()函数进行多线程同步。 一般与pthread_mutex_t 互斥锁一起使用。 下面是简单demo,主线程每2秒让子线程运行5次。#include <stdint.h>#include <semaphore.h>#include <stdio.h>#include <stdlib.h>#include <pthread.h>#include <u

2017-05-02 20:46:46 4644

原创 Linux信号量sem_t简单实例运用

sem_t sem; 定义一个信号量变量。使用时需首先使用sem_init()函数初始化。 在多线程编程中,想让某个线程阻塞等待,减少cpu占用,在该需要运行时才运行。使用信号量一个A线程sem_wait(),阻塞等待;一个B线程在需要运行A线程时sem_post(),解除A线程阻塞。下面是简单demo:#include <stdint.h>#include <semaphore.h>#in

2017-05-02 20:10:52 10124

原创 C语言获取文件字节大小及读取内容到内存简单例子

说明:此方式主要用于读取文件为内容连续无换行符文件(如json数据),若有很多换行符想读取每行数据或挑出哪一行数据读取可用别的方法更易读取。demo:#include <stdio.h>#include <stdlib.h>#include <string.h>#include <time.h>#include <unistd.h>#include <fcntl.h>#include <

2017-04-19 17:49:01 12050

原创 非阻塞socket下客户端connect + select简单demo

一个简单实现非阻塞socket,超时响应并判断是否连接成功demo:#include <stdio.h>#include <string.h>#include <sys/types.h>#include <fcntl.h>#include <unistd.h>#include <sys/socket.h>#include <netinet/in.h>#include <arpa/ine

2017-04-18 09:22:08 2958

sqlite3使用实例代码

主要是个人写的一个sqlite3 c接口的数据库操作demo,基本满足平时的使用要求。

2018-01-11

cJSON使用实例Demo包

cJSON的完整使用实例demo,解压即可编译使用,运行环境linux.

2018-12-25

嵌入式面试知识点总结

主要是自己嵌入式面试整理的一份知识点总结文档。

2019-03-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除