自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

不会游泳的程序猿

分享一些自己在开发中遇到的问题和经验,以及一些项目源码,帮助初学者早日成为一名优秀的工程师

  • 博客(50)
  • 资源 (11)
  • 收藏
  • 关注

原创 OsgEarth中设置模型运动路径,并绘制雷达扫描、动态实时绘制运动轨迹、跟随彩带

工程结构需求加载机场和飞机创建飞机历史航迹设置飞机视角跟随 并设置飞行路径创建飞机飞行彩带计算飞机飞行姿态TrailerCallback.hTrailerCallback.cppCreateTrackCallbcak.hCreateTrackCallbcak.cppBuildRader.hBuildRader.cppBuildRaderCallback.cppBuildRaderCallback.h#BuildRader/BuildRaderCallback 主要用来处理雷达相关操作#CreateT

2021-01-11 18:37:29 2032 2

原创 Android实例开发中登录注册界面的框架实现(android studio)

小项目框架今天用QQ的时候想到了,不如用android studio 做一个类似于这样的登录软件。当然QQ的实现的功能特别复杂,UI界面也很多,不是单纯的一时新奇就可以做出来的。就是简单的实现了一些功能,做了三个界面;1.登录界面。2.注册界面。3.登陆后的界面。功能描述登录按钮------按钮实现跳转到下一个界面,并且判断输入的账号、密码是否符合规则(不为空),提示,登陆成功或失败注册按...

2019-05-06 19:33:16 74485 49

原创 浅谈Arp协议

一、Arp协议简介Arp协议全称叫“地址解析协议(Address Resolution Protocol)”;属于网络层协议,但服务于数据链路层,报文大小为28;用于实现从 IP 地址到 MAC 地址的映射,查找目标IP对应的MAC地址;ARP包是封装在以太帧中;二、Arp工作方式同一个局域网下,有主机A,已知IP地址,MAC地址,主机B,已知IP地址,MAC地址未知,此时主机A与主机B之间要进行通信,还需要知道MAC地址,主机A广播发送Arp请求,报文封装A的IP地址、MAC地址,目标主机

2021-06-16 22:49:48 23

原创 解读windows下的cmakelist文件

#项目名称project(example)#最低的cmake版本cmake_minimum_required(VERSION 2.8)#执行Shell命令,抑制message警告#execute_process(COMMAND ${CMAKE_COMMAND} "-Wno-dev")#判断平台,设置生成动态库和静态库#如果是windows平台if (WIN32) #用来控制cmake是否可以生成动态so,默认情况下BUILD_SHARED_LIBS变量打开状态为on set(BU

2021-01-20 16:31:03 660

原创 C++从文件中逐行读取字符串并按空格分隔数字

数据格式欢迎使用Markdown编辑器程序输出 数据文件必须为纯数字组成,以空格为分隔字符,逐行读取数据,并将数字取出欢迎使用Markdown编辑器#include <iostream>#include <fstream>#include <map>#include <vector>#include <string>#include <sstream>#include <windows.h>usi

2020-12-01 15:39:17 1879

原创 《【解决】VS2010提示Cannot find or open the PDB file的问题》

VS2010Cannot find or open the PDB file提示问题描述解决方法问题描述安装好VS后,打开一个移植过来的工程,想用Debug调试一下,结果提示“Cannot find or open the PDB file”解决方法依次选择 工具 >> 选项 >> 调试 >> 符号;勾选 Microsoft符号服务器 >> 确定 ;重复 步骤1,这时下面一栏的“在此目录下缓存符号”中会自动填充一个目录路径,复制该路径;在M

2020-11-24 16:26:18 233

原创 【Linux问题栏】虚拟机中无法识别电脑摄像头和usb摄像头

最近在做一个具有视频监控及传输功能的一个项目,程序在ARM板子上面跑的时候总是死在驱动程序里面,所以就想先在虚拟机中跑一下,但怎么都找不到摄像头设备,网上看了很多教程都说没有摄像头功能,然后就开始自己排查问题。1.查看虚拟机–>可移动设备–>是否有摄像头,如果有,直接连接就可以。2.如果没有,虚拟机–>设置–>添加–>选择摄像头(我的里面是没有的)。3.虚拟机–>设置–>usb控制器–>全部勾选(一般选择usb2.0)。4.此时问题还没有解决。w

2020-05-10 10:54:20 1336 1

原创 【OSG】NodeVisitor

实现代码#include <osgViewer/Viewer>#include <osgDB/ReadFile>#include <osg/MatrixTransform>#include <osg/NodeVisitor>#include <iostream>#include <osg/Geode>#inclu...

2020-04-28 17:51:10 119

原创 【OSG】超级指针

前言当你申请一个资源的时候,当你使用超级指针来管理这个资源的时候,你不必关心它何时被释放,如何被释放;在这里推荐一个文档辅助大家理解《OpenSceneGraph基本渲染理论》,这个文档百度很多免费的可以阅读。思想使用栈中的资源管理堆中的东西实现代码1OSG环境已经配置好的基础上,代码只是为了让大家理解超级指针这个概念,有很多代码的地方还是不太恰当,比如友元类的使用上,大家不必细究。#...

2020-04-28 11:12:33 147

原创 【Qt问题栏】CMake编译opencv库时,无法识别命令mingw32-make命令

当我们在用cmake自己编译opencv的动态库的时候会用到命令"mingw32-make"命令,但当我们在命令终端输入时,无法识别命令,提示信息有很多中,亲测有效1.首先找到mingw32-make文件2.复制我们的mingw32-make.exe文件到C:\Windows\System32下【运行结果】...

2020-04-03 14:50:00 332

原创 【Qt问题栏】Qt封装成一个exe程序可在其他电脑运行而不造成.dll缺失

1.运行程序生成release版本2.找到release的文件夹3.找到qt的终端窗口4.进入你所在的exe文件路径5.然后输入windeployqt 程序包名这时候查看exe文件所在文件夹,会发现文件夹中多了很多dll文件6.下载Enigma Virtual Box,运行(应用商店就可以)第二步选择整个文件夹7.打开我们的release目录就可以看到新生成的e...

2020-03-29 12:02:19 247

原创 【QT问题栏】qt无法播放视频DirectShowPlayerService::doRender: Unresolved error code 0x80040266

【原因】:QT使用windows默认解码器,如果没有安装有相关DirectShowService解码器,则运行程序也是没法播放视频的,必须安装相关directshow解码器,安装位置在你的qt安装目录【运行结果】:...

2020-03-22 17:34:58 875

原创 【并发服务器】高并发服务器模型select实现服务器和客户端通信
原力计划

select函数函数原型:int select(int nfds, fd_set *readfds, fd_set *writefds,fd_set *exceptfds, struct timeval *timeout);【参数列表】:nfds:监听的所有文件描述符的最大描述符+1(内核采取轮询的方式);readfds:读文件描述监听集合;writefds:写文件描述符集合;ex...

2020-03-17 21:58:05 380

原创 linux下的文件输入输出fgetc、fputc,fgets、fputs,fread、fwrite

我们平时在对一个文件进行操作的时候会进行如下步骤:打开文件;对文件进行操作(一般我们是进行读写操作);关闭文件:下面我们就围绕linux操作系统中,对一个文件的操作进行简单讲解打开文件使用 <stdio.h>头文件中的==fopen()==函数即可打开文件,它的用法为FILE *fopen(const char *path, const char *mode);p...

2020-03-14 17:44:26 393

原创 typedef和#define、宏和函数、关键字static、const的用法以及C语言随机数

typedef和#define的区别可以使用其他类型说明符对宏类型进行扩展,但对typedef所定义的类型名不能这样做#define INTERGE intunsigned INTERGE n; //正确typedef int INTERGE ;unsigned INTERGE n; //错误在连续定义几个变量的时候,typedef可以保证定义的所有变量均为同一类型,...

2020-03-12 20:59:59 72

原创 linux系统中C语言中的清空scanf输入缓冲区

为什么会单独将字符串的输入拿出来讲,因为字符串和其他的输入来说有一点不同,在C语言中,从键盘输入有多个函数scanf:和 printf()类似,scanf()可以输入多种类型的数据。getchar()、getche()、getch():这三个函数用于输入单个字符。gets():获取一行数据,作为字符串处理scanf 函数 1 #include <stdio.h> 2...

2020-03-08 14:48:00 595

原创 C语言中的输出格式问题、转换方向以及转义字符

输出格式控制%c 输出一个字符%% 百分号本身%s 输出一个字符串在格式控制符中加上==#==前缀即可输出前缀%hd 、%d、%ld 以十进制、有符号的形式 short 、int、long类型的整数%hu 、%u、%lu 以十进制、无符号的形式 short 、int、long类型的整数%ho 、%o、%lo 以八进制、不带前缀、无符号的形式 short 、int、long类型的整数...

2020-03-05 22:30:25 832 1

原创 查看linux内核源代码

这里介绍的就是通过自己的虚拟机进去查看你linux系统的内核源代码,当然也可以去网站下载,自己按需使用1.源码路径一般路径都是在根目录下的/usr/src下,其中linux-***代表版本号2.源码内容arch目录:包括了所有和体系结构相关的核心代码。它下面的每一个子目录都代表一种Linux支持的体系结构。drivers目录:中是系统中所有的设备驱动程序。它又进一步划分成几类...

2020-03-04 12:23:25 984

原创 【Qt】用QT实现两个按钮控制两个界面的交替出现

【主要思路】这里介绍的是主副两个界面,通过父界面发送信号给主界面,实现其中某一个界面的显示与隐藏mainwidget.h#ifndef MAINWIDGET_H#define MAINWIDGET_H#include <QWidget>#include <QPushButton>#include "subwidget.h" //主窗口包含副窗口头文件...

2020-02-20 18:59:59 1195

原创 【Qt问题栏】由于找不到qt5core/d.dll,无法继续执行代码

1.找到你的环境变量设置窗口2.找到path,点击编辑3.找到QT图标右击找到安装路径4.找到安装文件5.找到你的编译环境(我这里有两个,一个是pc端一个是android端)6.分别复制你的bin路径到你的环境变量中此时重新编译生成可执行文件,就可以单独运行了。...

2020-02-18 11:57:43 4092 8

原创 ARM实验之GPIO点亮LED

【实验目的】控制发光二极管,使led2、led3、led4、led5依次闪烁【实验原理图】【实验内容】test.c#define GPX2CON (*(volatile unsigned int *)0x11000c40)#define GPX2DAT (*(volatile unsigned int *)0x11000C44)#define GPX2PUD (*(volatile...

2020-01-07 18:44:29 1047

原创 ARM指令集(数据处理指令)

ARM指令集可以分为数据处理指令、跳转指令、Load/Store指令、程序状态寄存器传输指令、协处理器指令和异常中断产生指令。根据使用的指令类型不同,指令的寻址方式分为数据处理指令寻址方式和内存访问指令寻址方式。数据处理指令寻址方式概述:数据操作指令是指对存放在寄存器中的数据进行操作的指令。主要包括数据传送指令、算术指令、逻辑指令、比较与测试指令及乘法指令。如果在数据处理指令后使用“S”后缀,...

2020-01-05 14:22:59 775

原创 ARM之GPIO介绍(Exynos4412平台)

GPIO概述:GPIO的英文全称是General-Purpose Input/Output,也就是通用输入输出。在微控制器芯片上一般都会提供一个“通用可编程IO接口”,即GPIO.接口至少有两个寄存器,即“通用IO控制寄存器”和“通用IO数据寄存器”。特性46个可中断通用控制I/O;172个外部中断;32个外部可唤醒中断;252个多路复用I/O口;睡眠模式引脚状态可控(除了GPX0...

2019-12-30 15:24:54 991 1

原创 ARM之I2C总线协议介绍

I2C总线协议概述:I2C(Inter-Integrated Circuit)总线是由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备,是微电子通信控制领域挂规范采用的一种总线标准。是同步通信的一种特殊形式,具有接口线少,控制方式简单,器件封装形式小,通信速率较高等优点。Exynos4412芯片包含8个通用I2C接口控制器。I2C主从机设备连接I2C总线物理连接特点...

2019-12-24 15:32:06 467 1

原创 ARM处理器和体系结构介绍(Cortex-A9)

ARM(Advanced RISC Machines)概述:有三种含义,它是一个公司的名称,是一类微处理器的通称,还是一种技术的名称。技术特征体积小、低功耗、低成本、高性能。支持Thumb(16位)/ARM(32位)双指令集,能很好地兼容8/16位器件。大量使用寄存器,指令执行速度更快。大多数数据操作都在寄存器中完成。寻址方式灵活简单,执行效率高。指令长度固定。嵌入式RISC...

2019-12-21 15:08:53 6435

原创 ARM异常及中断处理介绍(中断是异常的一种)

中断概念:是一个过程,是CPU在执行当前程序的过程中因硬件或软件的原因插入了另一段程序运行的过程。因硬件原因引起的中断过程的出现时不可预测的,即随机的,而软中断是事先安排好的。中断源概念:可以引起中断的信号源。中断优先级ARM处理器中有7种类型的异常,按优先级从高到低的排列如下:复位异常(Reset)、数据异常(Data Abort)、快速中断异常(FIQ)、外部中断异常(IRQ)、预取...

2019-12-17 18:48:43 1048

原创 ARM串行通信与并行通信介绍

计算机的通信(数据交换)方式主要是分为:串行通信与并行通信串行通信概念:计算机与I/O设备之间数据传输的各位是按顺序依次一位接一位进行传送。通常数据在一根数据线或一对差分线上传输。特点:传输速度慢,使用的设备成本低,适用于计算机远程通信。并行通信概念:计算机与I/O设备之间通过多条传输线交换数据,数据的各位同时进行传送。特点:传输速度快、效率高,传输成本高,适用于近距离的数据传送。...

2019-12-16 20:36:06 644

原创 【数据结构】C语言中顺序表的基本操作(创建、插入、删除、修改、查看、销毁)

特点地址连续,大小固定存储密度大除第0个元素外,其余元素都有前驱;除最后一个元素外,其余元素都有后继可以通过下标访问,访问非常方便插入和删除都需要移动元素,不方便顺序表的定义typedef int datatype; //方便后续数据类型的修改typedef struct orderlist{ datatype * pdata;//一个指针指向连续的存储空间 ...

2019-11-21 16:22:18 1783

原创 关于线程、进程以及多进程、多线程的分析

进程概念:具有独立功能的程序在某个数据集合上的一次动态执行的过程,是操作系统资源分配和调度的基本单元类型:后台进程、交互式进程、批处理进程创建函数fork():pid_t fork(void) 返回值分别代表父进程(正整数)、子进程(0)、出错(创建失败(-1));子函数除了进程号、父进程、进程组号不相同,其他资源完全复制父进程。int main(){ pid_t pid; ...

2019-10-24 20:52:47 248

原创 内部排序算法实现(冒泡排序、快速排序、直接插入排序、选择排序)

冒泡排序/************************************************************************* > 冒泡排序(交换排序) > 时间复杂度:平均:O(n^2) 最好:O(n),最坏:O(n^2) > 稳定排序,两两比较 *********************************************...

2019-10-15 21:23:37 233

原创 QT_arm项目实战之智慧家庭服务器/客户端模型

下载资源后,可以直接在自己的windows下运行功能描述(服务器)控制音乐的播放和暂停多界面跳转如果没有在聊天界面,弹窗提醒新消息,选择跳转与客户端进行通信聊天,可以保存客户端发送的指令和聊天、时间、内容接收客户端指令后,可以对硬件进行操作功能描述(客户端)循环检测服务器是否启动,一旦服务器启动自动连接,不连接时,无法操作实时显示系统时间通过指令控制服务器的音乐播放播放...

2019-08-30 09:36:29 370

原创 【进程间通信】有名管道实现进程间通信详解

无名管道类似于无名管道,一般都会和无名管道比较着来说无名管道的创建特点用于同一台PC机的两个进程,可以是亲缘进程,也可以是不相关的进程通过文件IO操作管道不支持lseek等跳转光标函数遵循先进先出的原则存在于文件系统中,可以看到。文件类型为p(管道文件)读写操作读操作如果之前fifo管道内没有数据,读进程就会一直阻塞,一直阻塞到有数据写入或FIFO管道写端关闭写操作...

2019-08-15 17:17:32 306

原创 【进程间通信】无名管道实现进程间通信详解

常见的进程间通信方式传统进程间通信方式无名管道(pipe)有名管道(fifo)信号(signal)System V IPC 对象共享内存(share memory)消息队列(message queue)信号灯(semaphore)System V IPC 对象套接字(socket)特点:只能用于具有血缘关系的进程间通信半双工的通信模式,有固定的读端和写端fd[...

2019-08-14 14:55:51 920

原创 【守护进程】linux守护进程(Daemon)创建过程详解

守护进程我们一般使用ps命令查看运行的进程信息。top命令为动态显示当前进程ID PID父进程ID PPID进程组ID PGID会话期ID SID控制终端 TTY终端进程组 TPGID守护进程linux中的后台进程,独立于控制终端,生命周期从系统启动到系统关闭。当我们创建一个子进程时,子进程继承了父进程的进程组ID、会话期ID。创建守护进程的步骤1.创建子进程,父进程...

2019-08-13 20:26:42 444 2

原创 【嵌入式笔试题】主要针对嵌入式软件开发工程师的一份常见也是必须知道的面试题总结(持续更新中)

这篇主要是往年校招过程中,嵌入式软件工程师岗位常见题,一些出现在笔试,有些出现在面试,如果你可以完全弄懂这些而不是停留在背答案阶段,那校招应该有六七成的把握了,剩下的就看学校、专业、城市、临场发挥等其他因素了。答案我会另外写一篇博客,供大家参考。后面我也会整理一下自己校招血战的经历给大家参考。希望大家找到一个好工作指针什么是指针?指针有哪些类型?如何定义一个函数指针和指针函数?分别定义一...

2019-08-13 16:32:02 2489 8

原创 【UDP网络编程】C语言实现UDP服务器和客户端之间的通信(linux)

功能描述利用UDP网络通信实现客户端和服务器的通信服务器代码server.c#include<stdio.h>#include<sys/socket.h>#include<sys/types.h>#include<string.h>#include<unistd.h>#include<netinet/in.h&gt...

2019-08-13 15:57:09 4326 6

原创 【TCP网络编程】C语言实现TCP服务器和客户端之间的通信(linux)

功能描述利用TCP网络通信实现客户端和服务器的通信服务器代码server.c#include<stdio.h>#include<sys/socket.h>#include<sys/types.h>#include<string.h>#include<unistd.h>#include<netinet/in.h&gt...

2019-08-13 15:51:57 3960 4

原创 C语言实例开发之无人超市管理系统【一】(Linux环境下)(2019.8.12)

前言这段时间在做linux下的c语言开发,而且秋招也马上开始了,就想试着做一个项目来把自己这段时间的学习做一个综合应用,如果好的话,也可以写到简历中去。考虑勒几天最终决定做一个无人超市管理系统.项目设计了很多功能,可能需要一段时间,只能实现一些功能之后更新出来,大家如果有什么好的建议可以评论在下方,一起进步项目框架功能描述(客户端操作)商品属性:id name price count...

2019-08-12 16:07:35 1501 6

原创 【C语言】利用子函数对指定字符串数组进行分割

#include<stdio.h>/*************************************************输入一个串字符串char str[100]=“zhangsan lisi wangwu liuliu”;分割字符串 char * pstr[4]={"zhangsan","lisi","wan...

2019-07-11 11:39:53 210

原创 【C语言】利用子函数查找该字符串出现次数最大的字符并删除

#include<stdio.h>#include<string.h>/***********************************************函数功能:输入一串字符串char str[100]="tyioqeqweqweqe"; 编写子函数,查找该字符串出现次数最大的字符******************************...

2019-07-11 11:32:46 194

LAVFilters-0.65.rar

QT使用windows默认解码器,如果没有安装有相关DirectShowService解码器,则运行程序也是没法播放视频的,必须安装相关directshow解码器,安装位置在你的qt安装目录

2020-03-22

无人超市管理系统.rar

无人超市管理系统 - 注册功能。注册失败返回继续注册 - 登陆功能。登陆成功,进行商品操作,登陆失败,重新登陆 - 添加商品功能。 - 删除商品功能。根据id删除 - 修改商品属性。 - 查看商品属性。全部查看和根据id查看

2019-08-12

C++打字游戏/打字系统.rar

主要是通过VS做一个打字游戏,界面由代码实现,没有用QT,实现字符至上向下掉落,键盘输入相同字符后消除,

2019-08-19

qt4.8.6.rar

用于配置win7系统下,用VS2010来进行osg开发,osg版本为3.4,可直接用来配置,详细的环境搭建请看博客

2020-11-27

智慧家庭服务器/客户端模型.rar

分为QT服务器和QT客户端模型 功能:多界面交互操作;客户端可以通过发送指令给服务器实现对硬件的控制;一键报警功能,响铃,弹窗,控制时长;实时监控接口;实时传感器检测接口;客户端控制服务器影音播放;客户端循环检测连接服务器;不连接时,客户端无法操作;具体实现图片可以看我博客

2019-08-30

jpegsrc.v9d.tar.gz

在arm开发板进行摄像头视频数据采集时,需要进行图像转换,那么会用到jpeg库,这里上传jpeg9相关的安装教程在博客中可以找到

2020-05-07

qt-vs-addin-1.1.11-opensource.exe

用于配置win7系统下,用VS2010来进行osg开发,osg版本为3.4,可直接用来配置,详细的环境搭建请看博客

2020-11-27

Win7+VS2015+Osg.rar

用于配置win7系统下,用VS2015来进行osg开发,osg版本为3.4,可直接用来配置,详细的环境搭建请看博客

2020-11-27

Win7+VS2010+Osg.rar

用于配置win7系统下,用VS2010来进行osg开发,osg版本为3.4,可直接用来配置,详细的环境搭建请看博客

2020-11-27

Win7+VS2010+OsgEarth.rar

用于配置win7系统下,用VS2010来进行osg开发,osg版本为3.4,可直接用来配置,详细的环境搭建请看博客

2020-11-27

嵌入式技术笔试面试复习文档.rar

资源主要针对嵌入式行业求职应聘所需,特别是应用层笔试、面试等一些软件编程和C语言、等一些相关岗位的技术测试。

2019-12-21

空空如也

空空如也

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

TA关注的人 TA的粉丝

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