自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(82)
  • 资源 (6)
  • 收藏
  • 关注

原创 黑群晖918+ DSM7.0.1手动安装RTL8125BG网卡及驱动

由于之前使用redpill的引导,不能自动识别RTL8125BG网卡,当时卖家老板说arpl引导可以直连,由于不想从新换引导,所以尝试自己编译驱动解决。

2024-02-27 18:11:02 4323

原创 编译Micropython固件For树莓派Raspberry Pi Pico

由于想把自己编写的py文件打包的固件中,所以记录下如何编译micropython固件和打包。最简单的方式就是在你的树莓派上进行,我用的是RP Pi2。然后在\micropython\ports\rp2\执行。将需要打包的py文件放在。

2023-09-02 14:15:57 954

原创 OpenWRT配置Taiscale后,开机启动后Taiscale无法正常启动

在启动tailscale时,检测到新的版本,并且是amd64的版本,很大可能是版本跟自己本地下载的不匹配,新下载的版本放在/tmp目录下。OpenWRT配置Taiscale后,开机启动后Taiscale无法正常启动。ifconfig也没办法看到网卡。这时候需要把新下载的tailscaled 替换掉本地的/usr/bin/tailscaled。原因:下载的Taiscale版本不对。

2023-08-01 00:55:12 1774

原创 群晖虚拟机OpenWRT配置Taiscale

后面会下载对应系统的Tailscale,然后分配网站,然后复制打开对应网站,绑定tailscale账号,显示sussess即可。参考:https://github.com/adyanth/openwrt-tailscale-enabler。

2023-07-31 22:22:41 1665

原创 Qt使用curl库

1.官网下载源代码:https://curl.haxx.se/download.html2.使用mingw编译mingw版本:进入源码目录:curl-7.32.0\libmingw32-make -f Makefile.m32将生成:libcurl.a、libcurl.dll和libcurldll.a 三个文件。将文件复制到个人工程的debug或release目录。3.编译msvc版本,打开cmd,进入VS对应的C:\Program Files (x86)\Microsoft Visua

2021-12-04 09:54:31 2964

原创 raspberry 2B红外遥控测试和按键记录

本人参考了:https://www.freemindworld.com/blog/2013/130316_raspberry_pi_with_remote_control.shtml前言:本人使用树莓派2B板,红外接收模块为:1传感器采用HX1838,灵敏度高2 工作电压5V3 输出形式:数字量输出模块接口说明1 VCC 外接3.3V-5V电压(可以直接与5v单片机和3.3v单片机相连)2 GND 外接GND3 IN 外接单片机I/O口,I/O口已设计10K上拉电阻1.第

2021-11-30 22:20:00 438

原创 树莓派raspberry 2b 继电器控制、GPIO环境设置

1.首先确定GPIO库已经安装,可以参考:https://blog.csdn.net/sxhexin/article/details/948890792.用2种方式测试:1)wiringpi 库测试目前该库已经不维护了,官网无法下载。安装包gpio readall代码如下:使用了GPIO29.#include <wiringPi.h>#include <stdio.h>#define GPIO_NUM 29int main(){ int c

2021-11-27 00:12:27 660

原创 树莓派2B 配置无线wifi dhcp 静态IP,同时开机启动

环境:2015-05-05-raspbian-wheezy版本1.修改vi /etc/network/interfaces添加一下语句,删除其他跟wlan0相关的codeallow-hotplug wlan0iface wlan0 inet manual wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf2.vi /etc/wpa_supplicant/wpa_supplicant.conf修改wifi账号和密码country=CNn

2021-11-26 20:49:14 1763

原创 Ubuntu下SVN+apache2搭建加密服务的SVN服务器

安装SVN/apach2 sudo apt install subversion apache2 libapache2-svn创建SVN的Repository svnadmin create /home/test/svn/repo/test将apach2的运行用户名称加入到当前创建SVN目录的群组.apach2的运行用户名称可以在以下文件中设置:/etc/apache2...

2019-07-23 16:45:46 422

原创 Tomcat配置登陆权限

#1.下载commons-codec库http://commons.apache.org/proper/commons-codec/download_codec.cgi#2.将该库导入到对应webapp目录下对应的工程目录下,如:cp /home/sscr/commons-codec-1.11/* /opt/apache-tomcat/webapps/xxcode/WEB-INF/lib/...

2018-12-18 14:35:00 1102

原创 Ubuntu 14.04 搭建OpenGrok环境,并支持多项目工程

OpenGrok是一个快速、便于使用的源代码搜索与对照引擎。它帮助你搜索,对照,定位你的源代码树。它能够识别各种程序源文件格式和版本控制历史记录。搭建环境依赖: 1.opengrok-1.1-rc33.tar.gz PS:rc35后脚本开始从shell切换到python 2.universal-ctags 3.apache-tomcat-8.5.32 4.OpenJDK 1.8 ...

2018-08-13 15:03:21 3889

转载 Ubuntu 14.04上 通过源安装 OpenJDK8

先列一下按照网上高人步骤,后记录上遇到的问题。 1. 添加openjdk8的第三方源 sudo add-apt-repository ppa:openjdk-r/ppa 2. 执行更新 apt-get update 3. 安装openjdk8 sudo apt-get install openjdk-8-jdk 4. 选择版本 sudo update-alternatives –c...

2018-08-13 10:51:24 1369

原创 虚拟机桥接PC机无线网络,实现虚拟机系统、PC和开发板在同一网络

1.虚拟机桥接设置: ps:如果虚拟机桥接网络有故障可以通过如下恢复默认设置。 2.打开虚拟机下的linux系统,确认ip是否跟PC端的无线网络在同一ip段下: 3.确定开发板也连接到了同一网络。4.相互ping,确定网络都互通了!

2018-04-05 17:18:10 808

原创 开发板学习笔记

1.烧录:开发板linux整个烧录包括以下步骤: - u-boot 启动程序:当你拿到一块开发板时,如果连uboot都没有,那就可以称为裸机,无法运行,这时我们需要使用Jlink连接开发板的JTAG口和电脑USB口来进行uboot烧录。 - uImage 内核:当你烧写好uboot后,那么uboot需要加载linux的内核,此时也需要烧写uImage内核。 - filesystem 文件系统:

2018-04-05 17:02:24 344

原创 使用VS的终端工具调试时,添加参数调试方法

如下图:

2017-11-05 17:39:43 1162

原创 Qt下使用DbgHelp和SetUnhandledExceptionFilter来获取Crash log/dump文件

第一步:在pro中链接LibLIBS += -lDbgHelp第二步:在main源文件中添加#include <windows.h>第三步:在main源文件中创建回调函数:LONG CreateCrashHandler(EXCEPTION_POINTERS *pException){ //创建 Dump 文件 QDateTime CurDTime = QDateTime::curre

2017-11-05 17:30:12 4705 5

原创 Qt下MSVC/Mingw平台dump/crash log报告调试方法差异

经过测试发现,对于MSVC/mingw平台的log到处方法有所不同,下面来介绍下2个平台构建的差异和方法:1.MSVC使用平台:MSV2015 1.第一步:编译构建是添加以下"CONFIG+=force_debug_info" "CONFIG+=separate_debug_info" 这样编译以后可生成*.pdb文件将dump文件和*.pdb及map文件放在同目录下,使用vs2015打开d

2017-11-05 17:11:30 5926 3

原创 欢迎使用CSDN-markdown编辑器

Qt5+以后,增加了Profile构建和release、Debug的差异Debug:配置了debug调试qmake.exe G:\xxx\xxx.pro -spec win32-msvc2015 "CONFIG+=debug" "CONFIG+=qml_debug" && E:/Qt/Qt5.8.0_msvc2015/Tools/QtCreator/bin/jom.exe qmake_allR

2017-11-05 13:28:21 366 3

原创 execve的用法

#include<unistd.h>main(){char * argv[ ]={"ls","-al","/etc/passwd",(char *)0};char * envp[ ]={"PATH=/bin",0};execve("/bin/ls",argv,envp);}

2016-05-15 22:11:05 983 1

原创 C/C++标准误导篇

1.使用宏定义时,能否使用自加或自减#define SQ(a) ((a) * (a))void main(){ int a = 6; int b; b = SQ(a++); printf("%d %d \n",a,b); return;}结果:8 36 这样写很容易误导以为a已经自加,b=49,实际上是使用宏后在自加,这样写是不规范的,应该在使用

2016-05-14 21:22:43 325

原创 线程与进程篇

线程与进程1.使用线程是如何防止出现大的波峰。 答:意思是如何防止同时产生大量的线程,方法是使用线程池,线程池具有可以同时提高调度效率和限制资源使用的好处,线程池中的线程达到最大数时,其他线程就会排队 等候。

2016-05-14 21:14:34 377

原创 网络及协议篇

网络及协议篇 1.Internet采用哪种网络协议?该协议的主要层次。 TCP/IP协议(Transmission Control Protocol/Internet Protocol)叫做传输控制/网际协议,又叫网络通讯协议,这个协议是Internet国际互联网络的基础 主要层次:数据链路层、网络层、传输层、应用层 数据链路层: 这是TCP/IP软件的最低层,负责接收IP数据报并

2016-05-14 21:14:00 742

原创 代码编写篇

代码编写篇1.写一个float x 与零值的比较的if语句; 这里主要存在一个float精度的问题,尽量少用“==”或者“!=”来比较float/double#define FLT 1e-6float x=0.00003;if((x >= FLT)) { //x大于0} else if( x >= (-FLT) || x <= FLT ) { //x = 0} else {

2016-05-14 21:13:25 341

原创 数据结构篇

数据结构篇 1.什么函数不能声明为虚函数。 虚函数定义: 虚函数必须是基类的非静态成员函数,其访问权限可以是protected或public,在基类的类定义中定义虚函数的一般形式:   virtual 函数返回值类型 虚函数名(形参表)  { 函数体 } 虚函数作用: 虚函数的作用是实现动态联编,也就是在程序的运行阶段动态地选择合适的成员函数,在定义了虚函数后,可以在基

2016-05-14 21:12:38 293

原创 算法篇

算法篇1.什么是平衡二叉树。 它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。常用算法有红黑树、AVL、Treap、伸展树等。在平衡二叉搜索树中,我们可以看到,其高度一般都良好地维持在O(log2n),大大降低了操作的时间复杂度。2.冒泡排序算法的时间复杂度是什么。 O(n^2),可以通过程序来验证 小于10000个数据的数组用它不会超时(

2016-05-14 21:12:00 306

原创 内存堆栈篇

内存堆栈篇 1.全局变量与局部变量在内存中是否有区别。 参考 变量可以分为:全局变量、静态全局变量、静态局部变量和局部变量。 按存储区域分,全局变量、静态全局变量和静态局部变量都存放在内存的静态存储区域,局部变量存放在内存的栈区。 按作用域分,全局变量在整个工程文件内都有效;静态全局变量只在定义它的文件内有效;静态局部变量只在定义它的函数内有效,只是程序仅分配一次内存,函数返回后

2016-05-14 21:10:51 403

原创 基本知识了解

基本知识了解 1.描述实时系统的基本特性。 资源可以随时动态分配,处理能力强,速度较快 1)高精度计时系统 计时精度是影响实时性的一个重要因素。在实时应用系统中,经常需要精确确定实时地操作某个设备或执行某个任务,或精确的计算一个时间函数。这些不仅依赖于一些硬件提供的时钟精度,也依赖于实时操作系统实现的高精度计时功能。 2)多级中断机制 一个实时应用系统通常需要处理多种外

2016-05-14 21:09:46 462

原创 常用类型名称篇

常用类型名称篇 知识点1:auto,register,extern,static,对应两种存储期:自动存储期和静态存储期。 auto和register对应自动存储期。具有自动存储期的变量在进入声明该变量的程序块时被建立,它在该程序块活动时存在,退出该程序块时撤销。1.static的用途。特点: static局部变量的”记忆性”与生存期的”全局性”对于函数来说,具有隐藏功能,也就是该函数只

2016-05-14 21:08:19 1043

原创 指针篇

C++面试参考1 ·指针篇1.写一个数组指针与指针数组,并说出齐区别。2.函数指针与指针函数的区别。3.指针与引用的区别和相同点。4.指针的&和*5.函数的传值和传值区别6.理解一个指针的指针和一个指向数组指针的指针7.空指针能赋值吗?8.”()”,”[]”,”*”的优先级。9.理解数组指针和指针数组的内存分布。10.给出结果:struct Test{ int Num; char *

2016-05-14 21:06:41 427

原创 树莓派设置静态无线IP以及去掉启动时的dhcpcd

vi /etc/network/interfaces如下:# interfaces(5) file used by ifup(8) and ifdown(8)# Please note that this file is written to be used with dhcpcd# For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd

2016-05-10 16:41:15 9389 1

原创 对通过用户输入的值,并遍历一次,将用户输入的值倒过来,单向链表进行逆向

typedef struct node_{ char c; struct node_* next;}abc;abc* SetHead(abc* head){ abc* a,*b,*c; a = head; c = (abc*)malloc(sizeof(abc)); if(a->next == NULL) { c->next =

2016-04-25 00:14:22 607

转载 段错误信息的获取

1 dmesg dmesg可以在应用程序crash掉时,显示内核中保存的相关信息。如下所示,通过dmesg命令可以查看发生段错误的程序名称、引起段错误发生的内存地址、指令指针地址、堆栈指针地址、错误代码、错误原因等。以程序2.3为例:panfeng@ubuntu:~/segfault$ dmesg[ 2329.479037] segfault3[2700]: segfault at 80484e

2016-04-25 00:01:03 1247

原创 指针之示例大集合

参考//这里也是传递的是一个指针,指针是通过传值的,但是我们将这个值赋值给一个指针的指针//也就是把这个地址转换为一个保存在一个指针中的地址,那么这个指针就指向这个地址了//这个副本是 char**类型的,也就是指针p保存的值为一个指针,所以传送过来的值就保存在//这个char**类型的p的地址下,也就是重新将传过来的实参地址,转换为一个指针,//然后保存在形参指针里面void GetMe

2016-04-24 17:20:57 413

原创 面试题大集合

C++面试参考1 ·指针篇1.写一个数组指针与指针数组,并说出齐区别。2.函数指针与指针函数的区别。3.指针与引用的区别和相同点。4.指针的&和*5.函数的传值和传值区别6.理解一个指针的指针和一个指向数组指针的指针7.空指针能赋值吗?8.”()”,”[]”,”*”的优先级。9.理解数组指针和指针数组的内存分布。10.给出结果:struct Test{ int Num; char *

2016-04-24 00:57:19 758

转载 书面格式解惑篇

///////////////////////书写格式解惑篇//////// 一 通常的函数调用 一个通常的函数调用的例子: //自行包含头文件 void MyFun(int x); //此处的申明也可写成:void MyFun( int );int main(int argc, char* argv[]) { MyFun(10); //这里是调用MyFun(10);函数

2016-04-24 00:38:24 516

原创 指针函数与函数指针

参考: 参考1 ·指针函数:返回值为指针或者地址的函数 格式:类型说明符 * 函数名(参数…)·函数指针:指向函数的指针,该指针指向函数的地址 格式:类型说明符 (*函数名或指针的变量名)(参数)需要注意:声明时,括号不能丢,否则意义就不一样了;如下:char* GetChar(char* c); // 指针函数char (*GetChar)(cjar* c); // 函数指针实例:摘

2016-04-24 00:01:14 382

转载 指针数组和数组指针的内存布局

一、指针数组和数组指针的内存布局初学者总是分不出指针数组与数组指针的区别。其实很好理解:指针数组:首先它是一个数组,数组的元素都是指针,数组占多少个字节由数组本身的大小决定,每一个元素都是一个指针,在32 位系统下任何类型的指针永远是占4 个字节。它是“储存指针的数组”的简称。数组指针:首先它是一个指针,它指向一个数组。在32 位系统下任何类型的指针永远是占4 个字节,至于它指向的数组

2016-04-23 21:59:05 454

原创 数组指针与指针数组

了解: 参考1 参考2优先级:“()” > “[]” > “*”char *(*c[10])(int **p); step1: (*c[10])() c是一个数组[0…9],它的元素类型是函数指针 step2: char (*c[10])() 函数的返回值为 char 把它们归纳起来,读作: c是一个数组[0…9],它的元素类型是函数指针,其指向的函数的返回值是一个指向ch

2016-04-23 21:57:44 472

原创 指针

1.指针的声明与赋值 声明的格式 void* p; ·声明一个指针后,如果没有赋予初始地址,系统会分配一个地址 ·赋值是赋值地址,计算机保存数据的地址而不是实体的值,而是对应存储数据空间的地址 声明不赋值:char* c;int * i;声明并赋值:char a[10];char* c = &a;区别指针的赋值与值得的复制char *a,*b;//声明两个指针变量p=q;//指针p指

2016-04-23 17:53:41 293

原创 指针与引用的区别和联系

相同点:都是地的概念,指针是指向一个地址的一块内存,而引用也是一块内存的一个别名,也相当于是内存的一个地址 区别:指针是实体的,而引用是一个别名引用使用时无需解引用(*),而指针需要解引用才能获取其值,解引用只能获取当前地址的值引用只能在定义时被初始化一次,而指针在定义时可以被初始化,初始化后还可以初始化引用没有const,指针有“sizeof 引用”得到的是所指向的变量(对象)的大小

2016-04-23 15:29:19 330

xshell配置

xshell配置文件

2016-05-24

C语言小游戏源码.rar

C语言写的几个小游戏源代码,俄罗斯方块、贪吃蛇、扫雷、五子棋等,想用C学游戏编程的看看吧,建议有点功底的人下载看。

2014-11-13

TCP/DUP点对点群聊QQ

本程序使用的是TCP和DUP实现的简单的聊天工具,可以实现点对点单聊,群聊,创建群,添加群、在线离线下线显示、离线消息等等功能,其他功能自己去发现吧。。。

2014-11-13

TCP/DUP实现群聊点对点聊天

模仿QQ做的一个聊天小应用,本应用通过C语言开发,功能还是比较全面的,实现了点对点、在线离线查看、隐身、群聊、离线消息查看等等。。。其他功能自己去发现吧。。

2014-11-13

c/c++下的酒店系统

基于C语言开发的 适合初学者参考 可以当做项目来做 融合指针 数组 增删改查

2014-11-13

C下的五子棋代码

棋盘可以自行更改,目前没发现任何BUG,适合初学者。

2014-11-13

空空如也

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

TA关注的人

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