自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Hello, New World!

万物伊始,效率本源。大道至简,代码之禅。自建博客: https://janycode.github.io

  • 博客(34)
  • 资源 (4)
  • 收藏
  • 关注

原创 字符串倒序:指针参数传递动态内存方式

#include #include #include #include /* * 函数介绍:字符串倒序 * 输入参数:@p 字符串首地址 * 输出参数:@q 使用动态内存排序后字符串首地址 * 返回值:true/成功,false/失败 */bool reverse (char *p, char **q) // 必须用二级指针接收 q 自身的地址作为传出参数{ if (N

2017-04-30 17:07:59 570

原创 《高质量C编程核心注意事项》核心笔记 - 全书

【文件结构】C  :.h .cC++:.h .cpp版权和版本的声明位于头文件和定义文件的开头:/** Copyright (c) 2017, xxx有限公司xxx部* All rights reserved.** 文件名称: filename.h* 文件标识: 见配置管理计划书* 摘 要: 简要描述本文件的内容** 当前版本: 1.1* 作 者: 输入作

2017-04-29 19:19:54 483

原创 助力程序员的14个好习惯!

成功的职业生涯通常是指规定时间内,发布高质量且被认可的工作。这对于IT开发人员也没什么不同。成功的开发人员能在预估范围内编写出高质量的代码,并通过发布伟大的产品让利益相关者满意。那么开发人员如何才能做到这一点呢?有些人认为开发人员是魔术师,按几个按钮就能让计算机变魔法。现实情况则要复杂得多:我们得遵循一定的原则来编写可靠的代码,测试我们的工作,并不断更新到最新的技术。1

2017-04-25 16:08:40 449

原创 STM32:I2C接口读写EEPROM(AT24C02)试验例程

硬件平台:stm32f10xZET6开发环境:keil MDK uVisionv4.10开发语言:C、ST_lib_3.5固件库EEPROM:电可擦可编程只读存储器。【stm32f10xZET6开发板的I2C外设物理层特点】(1)两条串行总线:一条双向数据线(SDA),一条时钟线(SCL);(2)从设备地址唯一;(3)支持总线仲裁;(4)三种速率传输模式:

2017-04-24 18:42:08 15488 2

原创 STM32:ADC采集数据实例(采用DMA模式)

硬件平台:stm32f10xZET6开发环境:keil MDK uVision v4.10开发语言:C、ST_lib_3.5固件库将STM32 开发板供电(DC5V),插上 JLINK,插上串口线(两头都是母的交叉线),打开超级终端,配置超级终端为 115200 8-N-1,将编译好的程序下载到开发板,即可看到超级终端打印出如下信息:当旋转开发板开发板上的滑动变阻器时, A

2017-04-24 15:40:05 13272 4

原创 STM32:DMA实例之串口(USART)通信

硬件平台:stm32f10xZET6开发环境:keil MDK uVision v4.10开发语言:C、ST_lib_3.5固件库/* 代码演示 main.c */#include "stm32f10x.h"#include "bsp_usart1.h"#include "bsp_led.h"extern uint8_t SendBuff[SENDBUFF_SIZE];

2017-04-24 14:38:27 4639 1

原创 RTX:多个任务实例、外部引用、信箱使用

【多个任务实例】RTX核可同时运行一个任务的多个副本,这就称作一个任务的多个实例。    OS_TID  分配任务进程ID号/* 多个实例 - 代码演示 */#include OS_TID tsk_1, tsk2_1, tsk2_2, tsk2_3;int cnt;void task2 (void) __task { os_dly_wait (2); cnt

2017-04-22 17:04:26 2112

原创 RTX:RTX系统调用函数分类、声明、功能及注意事项

【事件标志管理函数】函数名              描述 os_evt_clr          清除至少一个事件标志。 os_evt_get          获取事件标志,使 os_evt_wait_or 运行 os_evt_set          设置至少一个事件标志。 os_evt_wait_and     等待最少所有的事件标志被设置 os_evt_wait_

2017-04-22 17:01:41 3984 1

原创 RTX:keil中使用RTX实时操作系统方法及配置

在新工程中使用RTX内核及RTX内核的配置【RTX内核在新工程中使用】1. 在keil开发环境搭建好的情况下,设置在工程中使用RTX内核,选择 Project —> Options for Target,然后,为操作系统选择RTX内核并点击OK。 2. 从 \Keil\ARM\Startup\ 文件夹中为目标设备复制RTX_Config.c (或RTX_Conf_CM.c)配置

2017-04-22 16:20:52 15036

原创 RTX:RTX实时操作系统(RTOS)简介学习笔记

RTX实时操作系统(RTOS)简介学习笔记RTOS:Real time Operation SystemKeil RTX 是免版税的确定性实时操作系统,适用于 ARM 和 Cortex-M 设备。【RTX概述】RTOS 可以自由地调度系统资源,比如CPU和内存,并且提供一种任务间通信机制。RTX程序使用标准的C结构编写,运用RealView编译器进行编译。RTX.H 头

2017-04-22 16:18:28 27927

原创 STM32:USART串口通信笔记

【串口通信】typedef struct{  u32 USART_BaudRate;  u16 USART_WordLength;  u16 USART_StopBits;  u16 USART_Parity;  u16 USART_Mode;  u16 USART_HardwareFlowControl;  } USART_InitTypeDef;

2017-04-21 08:58:14 5472

原创 STM32:GPIO基础与对应管脚操作库函数

USE_STDPERIPH_DRIVER, STM32F10X_HDSTM32固件库Libraries\CMSIS\Core\CM3\startup\arm中启动文件的文件名英文缩写意义:cl:互联型产品, stm32f105/107 系列vl:超值型产品, stm32f100 系列xl:超高密度(容量) 产品, stm32f101/103 系列ld:低密度产品, FL

2017-04-17 21:18:21 9689

原创 STM32:Keil MDK(uVision v4.10)开发环境搭建

集成开发环境(IDE):Keil公司的RealView MDK源文件编辑器:UltraEdit/SourceInsight/IDE自带的编辑器 串口工具:SecureCRT(一个专业的超级终端工具,支持很多接口(包括串口)和协议,推荐使用。) RealView MDK 工程配置:(这里很有必要去熟悉下)1.“ Device”选项。选择正确的CPU型号

2017-04-17 14:03:55 5268 3

原创 shell脚本编程入门基础(附:自动备份与解包文件脚本)

【shell脚本基础】shell脚本文件后缀名:.sh建立脚本顶行:#! /bin/sh// 指明使用哪种shell来解释缩写的脚本shell脚本是以文本方式存储的,而非二进制文件,所以shell脚本必须在Linux系统的shell下解释执行,需要修改其执行权限:#:' chmod +x filename.sh不设置权限指定shell脚本:#:' sh

2017-04-12 16:46:59 992

原创 【经典】C语言字符串函数原型

strlen / strcmp / strcat / strcpy / memset / strstr / atoi / itoa //** 代码演示 -strlen.c **/ size_t mystrlen2 (char *s) // 内核{ char *p = s; while (*p)  p++; return p - s;}/** 代码演示 -

2017-04-06 09:31:22 1647

原创 QT:HTTP协议简单应用

HTTP协议 QNetworkAccessManagerQNetworkReply《案例》QT实现HTTP文本浏览器 /* HTTP文本浏览器 - 代码演示 */// HttpDialog.h#ifndef HTTPDIALOGH#define HTTPDIALOGH#include #include #include #include #includ

2017-04-04 00:56:17 4374 2

原创 QT:TCP网络编程实现

QT TCP编程 QTcpServer    QTcpSocket《案例》网络聊天室(局域网)① 服务器1 )使用QTcpServer创建并发服务器2 )保存所有客户端的socket套接字3 )接收客户端的消息4 )转发消息给所有的客户端工程名:Server类名:TcpServer② 客户端1 )使用QTcpSocket创建tcp客户端2 )

2017-04-04 00:55:07 2773

原创 QT:UDP网络编程实现

QT UDP编程 QUdpSocket  UDP套接字   -  More.... 里面的Example伪代码读写操作在成员函数内。void QIODevice::readyRead ( );   // 适用于所有I/O通信/** assistant 伪代码演示 **/void Server::initSocket ( ) { // 创建UDP套接字 ud

2017-04-04 00:53:19 2498

原创 QT:Qt 网络编程基础

Qt 网络编程基础 1 )网络协议层次 // linux/unix ---> 4 层  OSI ---> 7 层 应用层(应用层、表示层、会话层) 传输层(传输层) // TCP/IP协议  or  UDP协议 网络接口层(网络层、数据链路层)  // 链路:以太网协议;网络:IP协议 物理层(物理层) // 网卡本身 2 )TCP和UDP的区别 - '面试必问题'

2017-04-04 00:51:29 793

原创 QT:Qt多线程同步

QT多线程同步1 )互斥锁 :QMutex 保证同一时刻有指定多个线程访问共享资源。 void lock( ); void unlock( );/** eg代码演示 **/ int g_count = 0; // 临界资源(全局变量) void ThreadA::run ( ) { g_count++; } void ThreadB::run ( ) {

2017-04-04 00:50:34 1609

原创 QT:Qt多线程创建

QT多线程创建#include QThread >    跨平台的管理线程的方法// QThread类提供了一种独立于平台的方式来管理线程。 'QT创建线程的方法 1 :'class Worker : public QObject { void doWork(const QString ¶meter) { /* 有阻塞或者耗时的操作,需要放到独立的线程中

2017-04-04 00:48:51 663

原创 QT:在Qt中使用SQLite数据库

在QT中使用数据库QMYSQL  (MySQL)QSQLITE  (SQlite 3 )  -  QT 自带的数据库~/Qt5.4.1/5.4/gcc_64/plugins/sqldrivers  // 数据库.so动态库文件别的数据库可以下载下来,直接拷贝到该目录,就可以直接用了。QSqlDatabase   建立QT程序和数据库的连接/** 代码演示 - ass

2017-04-04 00:47:02 4981

原创 QT:SQLite数据库 '增、删、改、查'

SQLite数据库 '增、删、改、查' 1. 数据库简介 数据库指的是以一定方式存储在一起,能为多个用户共享,具有尽可能小的冗余度的特点,是与应用程序彼此独立的数据集合。 // 一定方式:可以理解为策略、算法 // 网盘相同的文件是以 MD5 码的形式标记相同的文件,以网络共享。2. 和数据相关的术语 DBMS '数据库管理系统' DBA  '数据库管理员'

2017-04-04 00:44:47 4866

原创 QT:键盘事件

键盘事件QKeyEvent 按键按下#include QKeyEvent >// 按键按下 slotvoid QWidget::keyPressEvent (QKeyEvent * event) [virtual];// 按键抬起 slotvoid QWidget::keyReleaseEvent (QKeyEvent * event) [virtual];

2017-04-04 00:44:15 1288

原创 QT:鼠标事件

鼠标事件1. 鼠标手册#include QMousEvent >// 鼠标按下QWidget::mousePressEvent(QMouseEvent * event) [virtual];// 鼠标释放-抬起QWidget::mouseReleaseEvent(QMouseEvent * event) [virtual];// 鼠标移动QWidget:

2017-04-04 00:43:06 3392

原创 QT:目录和定时器

目录和定时器QVector  线性表容器类QVector QDir  遍历目录的方法类QDir dir (path); foreach QT中的for循环,关键字: QLinkedList list; ... QString str; foreach (str, list) {  qDebug()  }定时器事件,由QObject提供;定时器

2017-04-04 00:42:12 604

原创 QT:资源和图像

资源和图像《案例》图片浏览器1 )创建工程:ShowPics (工程名/工程目录名)2 )创建类名:ShowPicsDialog (类名/文件名)3 )设计UI--->  m_fmImage (Frame组件,显示图像组件)--->  m_btnNext (PushButton组件,下一张)--->  m_btnPrev (PushButton组件,上一张)--

2017-04-04 00:40:53 768

原创 QT:Qt创造器的使用 creator

QT创造器的使用 creator《案例》重构加法计算器1. 点击QTcreator图标,启动(或者配置过环境变量后,$: qtcreator )2. New project ---> Application ---> Qt Widgets Application3. '名称' ---> '创建路径 ',QTctreator会自动创建一个和工程名称相同的名字的目录4.

2017-04-04 00:39:45 717

原创 QT:Qt设计师的使用 designer

QT设计师的使用 designer源文件/头文件的'最后加空行',有些编译不加空行会报警告。1. 启动设计师 在命令行 $: designer  根据提示选择模板(父窗口):Dialog without buttons 文件 -> 保存 (CalculatorDialog.ui)2. 设计UI界面,得到 .ui 文件 设置相关属性:  窗口/按钮文字、成

2017-04-04 00:38:31 5212

原创 QT:面向对象的Qt编程

面向对象的QT编程1. 基于对象的QT编程        // QT的功能受到限制,不推荐2. 面向对象的QT编程《案例》 加法计算器class CalculateDialog : public QDialog {// 行为:    构造函数 ( ) { 初始化界面 }    槽函数:当输入左右操作数时,发送信号,检测是否都为有效数字,使能等号按钮;    槽函

2017-04-04 00:36:22 2068

原创 QT:容器窗口(父窗口)

容器窗口(父窗口)与滑块1. 如果一个组件创建时指定了父窗口,那么就将停靠在父窗口上,如果不指定父窗口,它就会飘在外面,形成独立的窗体。 2. 常用父窗口类:    QWidget             // 默认大一些    QMainWindow     // 默认小一些    QDialog             // 对话框窗口,大一些,顶栏只有关闭按钮x

2017-04-04 00:34:35 3837

原创 QT:信号和槽机制

信号和槽机制1. 概念    信号和槽是Qt自行定义的一种通信机制,实现不同对象之间的数据交互。    其本质就是函数的调用,一个对象发出信号,连接到该信号的对象,则会执行指定的动作(槽Slots )。2. 定义    "信号 Signal "    class QPushButton {       Q_OBJECT  // 元对象编译器 。    sig

2017-04-04 00:10:46 467

原创 QT:QString 字符串和中文字符编码

QString 字符串和中文字符编码QT内部的编码方式 Unicode (utf-16)linux平台默认使用:utf-8windows平台默认使用:gbk2312/gbk/gbk18030QString内部使用Unicode编码,使用双引号的字符串,通过转换构造函数,可以将utf-8编码字符转换为Unicode的使用,也可以正常显示utf-8编码的字符串。早期的Qt4版本

2017-04-04 00:08:43 12683

原创 QT:Qt的背景与软件安装

Qt的背景与安装 一、QT的概述1. 历史发展 1)1991年诞生 Haavard/Eirik window :  win_label unix : unix_label 2)1994年创立 Trolltech(奇趣公司) 3)2005年QT4.0发布 4)2008年被Nokia收购 5)2009年源代码开放 6)2012年诺基亚将全部QT业务和知识产权出售

2017-04-04 00:07:39 561

JVM-Java内存规范.png

Java-JVM内存规范(详细完整思维导图),包含物理内存与虚拟内存、内核空间与用户空间、java中需要使用的内存组件、jvm内存结构、jvm内存回收策略、JVM参数等...

2020-05-28

MVC模式用JSP实现用户管理(增删改查)核心逻辑图示.png

MVC模式 + JSP + 三层架构设计,实现对用户的登陆、登出、新增(注册)、删除用户、修改用户、查询用户、以及查询所有用户的基本核心逻辑。

2020-05-09

Filter过滤器实现自动登陆核心逻辑.png

Java中Servlet使用Filter过滤器实现自动登陆核心逻辑流程图(基本可以直译代码),特此分享供大家学习交流使用,如有不足之处请私信或者评论纠正。

2020-05-09

空空如也

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

TA关注的人

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