Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器 软件资源

软件开发小程序制作系统集成与运维空间租用硬件开发视频监控技术咨询与支持——联系电话:0311-88999002/88999003

首页 / 操作系统 / Linux

SPI子系统之驱动SSD1306 OLED

SPI子系统之驱动SSD1306 OLED

接触Linux之前,曾以为读源码可以更快的学习软件,于是前几篇文章都是一边读源码一边添加注释(http://www.linuxidc.com/Linux/2016-10/136246.htm),甚至精读到每一行代码,实际上效果并不理想,看过之后就忘记了。主要原因是没理解透程序架构,各个模块之间的关系,如何联系在一起,再加上没有实例验证。后来逐渐发现,理解框架能达到事半功倍的效果,理解框架之后,反而代码也更容易看懂,甚至可以猜部分代码的作用,印象更加深刻。理...
深入理解 Spring 事务原理

深入理解 Spring 事务原理

一、事务的基本原理Spring事务的本质其实就是数据库对事务的支持,没有数据库的事务支持,spring是无法提供事务功能的。对于纯JDBC操作数据库,想要用到事务,可以按照以下步骤进行:获取连接 Connection con = DriverManager.getConnection()开启事务con.setAutoCommit(true/false);执行CRUD提交事务/回滚事务 con.commit() / con.rollback();关闭连接 c...
Linux设备管理(二)_从cdev_add说起

Linux设备管理(二)_从cdev_add说起

我在Linux字符设备驱动框架一文中已经简单的介绍了字符设备驱动的基本的编程框架,这里我们来探讨一下Linux内核(以4.8.5内核为例)是怎么管理字符设备的,即当我们获得了设备号,分配了cdev结构,注册了驱动的操作方法集,最后进行cdev_add()的时候,究竟是将哪些内容告诉了内核,内核又是怎么管理我的cdev结构的,这就是本文要讨论的内容。我们知道,Linux内核对设备的管理是基于kobject的(参见Linux设备管理(一)_kobject_ks...
C++实现学生信息管理系统

C++实现学生信息管理系统

利用线性链表实现学生成绩管理系统,具体功能:输入、输出、插入、删除、查找、追加、读入、显示、保存、拷贝、排序、索引、分类合计、退出,并能在屏幕上输出操作前后的结果。1. 写出系统需求分析,并建模。 2. 编程实现,界面友好。 3. 输出操作前后的结果1.头文件#define MAX_NUM 10#include <String>#include <fstream>using namespace std;bool quit = fal...
C++实现停车场管理系统

C++实现停车场管理系统

有一个可以停放n 辆汽车的狭长停车场,它只有一个大门可以供车辆进出。车辆按到达停车场时间的早晚依次从停车场最里面向大门口处停放(最先到达的第一辆车放在停车场的最里面)。如果停车场已放满n 辆车,则后来的车辆只能在停车场大门外的便道上等待,一旦停车场内有车开走,则排在便道上的第一辆车就进入停车场。停车场内如有某辆车要开走,在他之后进入停车场的车都必须先退出停车场为它让路,待其开出停车场后,这些车辆在依原来的次序进场。每辆车在离开停车场时,都应依据它在停车场内...
C++实现约瑟夫环

C++实现约瑟夫环

编号是1,2,……,n 的n 个人按照顺时针方向围坐一圈,每个人只有一个密码(正整数)。一开始任选一个正整数作为报数上限值m,从第一个仍开始顺时针方向自1 开始顺序报数,报到m 时停止报数。报m 的人出列,将他的密码作为新的m 值,从他在顺时针方向的下一个人开始重新从1 报数,如此下去,直到所有人全部出列为止。1. 利用单向循环链表存储结构模拟此过程,按照出列顺序输出各个人的号。2. 测试数据:m 的初值为20,n=7,7 个人...
C++实现文学研究助手

C++实现文学研究助手

文学研究助手的实现设计目的:1. 熟悉串类型的实现方法和文本匹配方法。2. 熟悉一般文字处理软件的设计方法。设计内容:文学研究人员需要统计某篇英文小说中某些形容词的出现次数和位置。试写一个实现这一目标的文字统计系统,称为“文学研究助手”。设计要求:1. 英文小说存于一个文本文件中。2. 待统计的词汇集合要一次输入完毕。3. 程序的输出结果是每个词的出现次数和出现位置所在行的行号,格式自行设计。源代码#include<iostr...
Linux C _exit函数与exit函数的联系与区别

Linux C _exit函数与exit函数的联系与区别

一、联系1、功能上,_exit和exit函数都是让进程正常退出,即关闭进程所打开的文件描述符,释放已占用内存和其他资源。二、区别1、_exit函数在头文件unistd.h中声明,而exit在头文件stdlib.h中声明。2、执行_exit函数后,控制权立即返回给内核,而exit函数要先执行一些清除操作,然后才将控制权交给内核。3、_exit函数不会刷新I/O缓冲区,可能造成数据丢失,而exit函数是在_exit函数之上的一个封装,它在调用_exit函数之前...
Linux系统下Qt5工程打不开的解决方法

Linux系统下Qt5工程打不开的解决方法

一、问题现象 Linux系统下打开Qt工程的时候,控制台报错:Could not find qmake configuration file default.二、问题原因 我碰到这种问题的原因是我的Linux系统装了多个版本的Qt程序,卸载没卸载干净,导致一些配置信息残留,这些配置信息干扰了新安装的Qt程序。三、解决方法 打开Qt creator,工具(Tool)-> 选项(Option)-> 构建和运行(Build & Run)...
Linux系统下Qt5无法连接MySQL数据库的解决方法

Linux系统下Qt5无法连接MySQL数据库的解决方法

Linux平台下解决Qt5连接mysql数据库的问题:输入sudo apt-get install libqt5sql5-mysql解决,这种方法只能解决Qt是用sudo apt-get install qt-sdk命令装的低版本的Qt5(如5.2.x)缺少MySQL驱动问题,如果你的Qt5版本为5.7.X,那么就不能用这种方法解决,请参考下面的方法。传统解决方法:一、解决问题 本文解决在Ubuntu14.04系统下,Qt5无法连接MySQL数据库的问题...
Linux设备管理(三)_总线设备的挂接

Linux设备管理(三)_总线设备的挂接

扒完了Linux字符设备,我们来看看平台总线设备,平台总线是Linux中的一种虚拟总线,我们知道,总线+设备+驱动是Linux驱动模型的三大组件,设计这样的模型就是将驱动代码和设备信息相分离,对于稍微复杂一点的驱动,都要使用这种结构,我在"Linux设备管理(一)_kobject, kset,kobj_type分析"一文中提到过将一个设备或驱动挂载到总线就是将这个设备或驱动的kobject挂接到相应的总线kset下的设备kset或驱动kset中,本文就扒一...
Java中使用IO流实现大文件的分割与合并

Java中使用IO流实现大文件的分割与合并

文件分割应该算一个比较实用的功能,举例子说明吧比如说:你有一个3G的文件要从一台电脑Copy到另一台电脑, 但是你的存储设备(比如SD卡)只有1G ,这个时候就可以把这个文件切割成3个1G的文件 ,分开复制, 最后把三个文件合并, 这样就解决问题了 ;再比如说, 你有一个上百M的文件要上传到FTP ,但是这个FTP限制你单个文件不能超过10M 这时候也可以用文件分割的办法解决问题。既然分割了,那么在我们再次使用的时候就需要合并了,今天我们就通过Java代码...
Android中使用AsyncTask实现文件下载以及进度更新提示

Android中使用AsyncTask实现文件下载以及进度更新提示

Android提供了一个工具类:AsyncTask,它使创建需要与用户界面交互的长时间运行的任务变得更简单。相对Handler来说AsyncTask更轻量级一些,适用于简单的异步处理,不需要借助线程和Handter即可实现。AsyncTask是抽象类。AsyncTask定义了三种泛型类型Params,Progress和Result:Params启动任务执行的输入参数,比如,HTTP请求的URL。Progress后台任务执行的百分比。Result后台执行任务...
Android中点击事件的实现方式

Android中点击事件的实现方式

我们多次使用了点击事件的处理实现,有朋友就问了,发现了很多按钮的点击实现,但有很多Android中使用的实现方式有都不一样,到底是怎么回事。今天我们就汇总一下点击事件的实现方式。点击事件的实现大致分为以下三种:(1)Activity 实现接口方式实现点击事件(经常使用)(2)自定义方法,使用配置文件android:onclick(3)使用内部类方式实现(4)使用匿名内部类实现介绍下几种点击事件的实现方式:下面我们通过代码来简单演示下几种点击事件的实现方式:...
Android中Fragment与Activity之间实现交互两种方式

Android中Fragment与Activity之间实现交互两种方式

(未给Fragment的布局设置BackGound)之前关于Android中Fragment的概念以及创建方式,我专门写了一篇文章《Android中Fragment的两种创建方式》,就如何创建Fragment混合布局做了详细的分析,今天就来详细说道说道Fragment与宿主Activity之间是如何实现数据交互的。我们可以这样理解,宿主Activity中的Fragment之间要实现信息交互,就必须通过宿主Activity,Fragment之间是不可能直接实...
Android中Fragment的两种创建方式

Android中Fragment的两种创建方式

fragment是Activity中用户界面的一个行为或者是一部分。你可以在一个单独的Activity上把多个Fragment组合成为一个多区域的UI,并且可以在多个Activity中再使用。你可以认为fragment是activity的一个模块零件,它有自己的生命周期,接收它自己的输入事件,并且可以在Activity运行时添加或者删除。两个概念:Fragment、宿主fragment的生命周期直接受其宿主activity的生命周期的影响。例如,一旦act...
<< 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 >>