自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(56)
  • 资源 (5)
  • 问答 (1)
  • 收藏
  • 关注

原创 K8S容器无法访问外网

K8S DNS

2023-02-25 20:53:28 449

原创 C++打印内存数据

参照gdb的风格, 逐字节打印,同时打印10进制无符号和16进制,一行打印8字节其中int vscnprintf(char *buf, size_t size, const char *fmt, va_list args)int scnprintf(char *buf, size_t size, const char *fmt, ...)两个函数是从Linux内核源码复制的直接上完整代码:#include <cstdio>#include <cstdarg&

2021-01-17 00:26:08 1950

原创 MySQL删除所有表

1.使用CONCAT函数连接组成删除语句MariaDB [wiki_db]> select concat('drop table if exists ',table_name,';') from information_schema.tables where table_schema='wiki_db';+--------------------------------------------------+| concat('drop table if exists ',table_name

2020-12-05 14:23:37 289

原创 求两有序数组的中位数

给定两个大小为 m 和 n 的正序(从小到大)数组nums1和nums2找出并返回这两个正序数组的中位数时间复杂度O(log(m+n))解法:二分法查找public class Main { public static void main(String[] args) { Solution solution = new Solution(); int[] nums1 = {1,3,7,9}; int[] nums2 = {4,6,7}; System.out.pri...

2020-10-23 22:54:24 199

原创 C++和Java性能比较, GCC和clang性能比较

下面的图表是对1万个整数进行排序的耗时比较,C++和Java算法代码几乎完全一致,C++编译器使用了GCC,clang和VC++14.25(VS2019)。比较的算法有:冒泡排序,鸡尾酒排序,插入排序,二分插入排序,希尔排序,快速排序。最后一个堆排序未实现,所以是0注:C++使用的是C++11标准, Java使用的是JDK11注:不同的表之间硬件不同,不具有可比性。注:C++使用了...

2020-05-01 00:30:23 1991

原创 Linux和Windows都可用的串口调试助手

前段时间在玩单片机,用的是Windows和Linux两个系统开发,当时在网上找了很久都没找到一个好用的串口调试工具,特别是Linux系统下完全没有这类工具,于是花了两个晚上的业余时间自己写了一个。功能如下:1、使用Qt开发,使用了C++112、支持数据收发和文件发送,不支持文件接收,觉得没必要3、支持定时发送,定时器精度是秒,范围1-30秒4、可以自由设置显示字体和前景背景颜色...

2019-11-29 00:00:39 851

原创 减法溢出翻转导致的死循环

下面的代码有没有问题?#include <cstdio>int main(){ unsigned int a = 10; int b = 10; /* loop 1 */ while(a>0) { a -= 3; printf("a=%u\n", a); } /* loop 2 */ while(b>0) { b -=3; pr...

2019-03-26 00:43:17 966

原创 arm-linux-gnueabihf、aarch64-linux-gnu等ARM交叉编译GCC的区别

在下载gcc for arm的时候,往往会有很多个版本:这些版本的区别是什么?我该下载哪个版本?区别无外乎几个:大端 or 小端、ARMv7 or ARMv8、32位 or 64位、裸机 or 嵌入式Linux multiarch name syscall ABI instruction set endian­...

2019-03-10 15:47:39 15398 3

原创 vivado安装System Generator不支持新版Matlab怎么办?

按照Xilinx的作风,Vivado只支持最近两年3个版本的Matlab,当前最新版vivado 2018.3只支持2017a,2017b,2018a,连matlab 2018b都不支持System Generator需要的新特性,matlab2016可能不支持,matlab2018b肯定是都支持的,所以没必要卸载matlab2018b安装matlab2018a,Mathworks已经给出...

2019-03-02 17:39:14 10079 12

原创 CentOS7开机Failed to start Crash recovery kernel arming

I'm having CentOS 7 64 installed on my NUC. After compiling and upgrading the kernel to version 4.14, I am getting below error while booting the CentOS 7:Failed to start Crash recovery kernel armin...

2019-02-14 22:25:38 11343 2

原创 firewalld允许nginx\apache\mysql通过

1、查看当前运行的service#firewall-cmd --list-services2、列出支持所有的服务名称#firewall-cmd --get-services由于输出结果太多,最好搭配grep xxx使用3、允许服务通过#firewall-cmd --add-service=mysql    本次有效,重启失效#firewall-cmd --permane...

2019-01-05 23:09:04 1252

原创 解决SELinux导致的nginx 403

只需两个命令chcon -R -u system_u /webdir/chcon -R -t usr_t /webdir//webdir/为nginx web目录

2019-01-05 22:53:05 763

原创 CentOS7编译内核安装与卸载

一、编译安装1、下载内核源码从https://www.kernel.org/下载longterm 4.14源码mainline: 4.20 2018-12-23 [tarball] [pgp] [patch]   [view diff] [browse]   stable: 4.19.13 2018-12-29 ...

2018-12-31 22:28:59 2430

原创 php-fpm与nginx通信connect() to unix:/tmp/php-fpm.sock failed (13: Permission denied) 的解决方法

nginx返回404,log文件错误信息如下2018/12/30 06:32:32 [crit] 9418#9418: *5 connect() to unix:/tmp/php-fpm.sock failed (13: Permission denied) while connecting to upstream, client: xxx.xxx.xxx.xxx, server: local...

2018-12-30 20:27:42 9277 1

原创 为CentOS7编译升级GCC

CentOS7默认的GCC版本是4.8,不支持C++14,对C++11支持也不完善,编译时需要加上-std=c++11才能勉强支持C++11,所以对GCC来个升级。因为3.10的内核实在太老,加之GCC4.8和最新的GCC8.2代差太大,直接用GCC4.8编译安装GCC7或8是不能成功的,我选择了GCC6.5,6.5对C++11支持很完美,还支持C++14. 1、下载和解压源码 这里...

2018-12-30 20:25:27 6074 3

原创 sizeof(char [])和sizeof(char *)等于多少?

下面的代码执行结果是多少? 1 #include &lt;stdio.h&gt; 2 3 int main(void) 4 { 5 char ca[] = {"123456"}; 6 char *pca = "123456"; 7 8 printf("sizeof(ca)=%d,sizeof(pca)=%d,sizeof(*pca)=...

2018-12-28 00:31:29 26835 1

原创 -1L和0U比较大小,32为系统和64位系统有何不同?

下文所有说法仅针对linux等long类型在32位和64位程序中,长度不一样的系统成立,因为WIndows系统long不论是32位还是64位,都是4字节。下面的程序在32位和64位下,会输出什么结果? 1 #include &lt;stdio.h&gt; 2 3 int main() 4 { 5 long la = -1l; 6 unsigned ...

2018-12-27 23:21:54 1794

原创 const在C与C++中的区别

下面的代码在C和C++下编译,输出会是什么?1 void main(void)2 {3 const int a = 0x00;4 int *pi;56 pi = (int *)&amp;a;7 *pi = 0xFF;89 printf("*pi=%d,a=%d\n", *pi, a);10 return 0;11 }注意,上面的代码第6行必须写为p...

2018-12-27 22:36:54 213

原创 整数转罗马数字

罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个并列的 1...

2018-12-27 21:53:00 239

原创 scnprintf()和snprintf()、vscnprintf()和vsnprintf()

写过Linux驱动或者内核态程序的人应该都知道,编译时会有这样一个警告:use scnprintf() instead of snprintf()为什么在编译驱动或者内核态程序的时候会有这个警告呢?据说因为snprintf()有很大内存越界的风险?在内核态,内存越界往往是灾难性的后果下面是从Linux内核源码中复制的一段snprintf()和scnprintf()的实现(内核版本:...

2018-12-24 22:59:20 8051

原创 linux下使用strlcpy和strlcat

strlcpy和strlcat是BSD的C库函数,glibc维护者一直拒绝将其加入,所以需要安装额外的包。函数原型:size_t strlcpy(char *dst, const char *src, size_t size);size_t strlcat(char *dst, const char *src, size_t size);描述:The strlcpy() fun...

2018-12-20 20:51:21 5150

原创 gcc编译-m32、-mx32有什么区别

先来看看gcc官方手册吧These ‘-m’ switches are supported in addition to the above on x86-64 processors in 64-bitenvironments.-m32-m64-mx32-m16-miamcu Generate code for a 16-bit, 32-bit or 64-bit enviro...

2018-12-19 23:09:49 8481

原创 链表反转、链表是否有环

1、链表反转template&lt;class ElementType&gt; void inline slist&lt;ElementType&gt;::invert(){ if (head-&gt;next != nullptr) { node *p, *q, *r; p = head-&gt;next; q = p-&gt;next; p-&gt;next = n...

2018-12-18 23:34:41 434

原创 CentOS编译opencv

在没安装图形界面的linux系统中编译安装opencv下载解压源码创建build目录第3步别忘了最后的两个点mkdir buildcd buildcmake -D CMAKE_BUILD_TYPE=Release -D BUILD_EXAMPLES=OFF -D BUILD_DOCS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_TESTS=O...

2018-11-28 22:55:05 579

原创 php获取本机IP

1、首先获取主机名:string gethostname ( void )gethostname() 可以获取本地机器的标准主机名。成功时返回主机名称字符串,失败时返回 FALSE。$server_hostname=gethostname();2、根据hostname获取IP:string gethostbyname ( string $hostname )返回主机名 ...

2018-11-26 01:07:26 7226 1

原创 Qt5.9.7 for ARM的编译安装(32位和64位)

Qt5.9.7 for ARM的编译安装 下载源码前往http://download.qt.io/official_releases/qt/5.9/5.9.7/single/下载最新版的源码(我这里下载的是当时最新的5.9.7)qt-everywhere-opensource-src-5.9.7.tar.xz,然后解压到某个文件夹为你的Linux安装常用的开发环境,比如gcc,mak...

2018-11-10 13:48:35 11312 3

原创 arm下堆和栈的增长方向

通过gdb调试下面的程序,观察运行于ARM的Linux系统中,heap和stack的区别#include &lt;cstdio&gt;#include &lt;cstring&gt;struct MyStr{ unsigned char ch[128]; MyStr() { memset(ch,0x01,128); }};int main(){ MyStr *p...

2018-10-14 21:53:04 2780

原创 kqueue示例

kqueu的两个例子:1、完全以IO复用的方式读入标准输入流数据,输出到标准输出流中#include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;#include &lt;unistd.h&gt;#include &lt;fcntl.h&gt;#include &lt;sys/event.h&gt;#include &lt;errno.h&g...

2018-10-12 20:59:32 869

原创 kqueue的用法

The NetBSD Project”Of course it runs NetBSD” 本文翻译自:http://wiki.netbsd.org/tutorials/kqueue_tutorial/ NetBSD Wiki/tutorials/kqueue tutorial目录I、简介II、kqueue APIkevent 数据结构pair flags ...

2018-10-12 20:53:04 4471

原创 Shell统计词频

写一个 bash 脚本以统计一个文本文件 words.txt 中每个单词出现的频率。为了简单起见,你可以假设:words.txt只包括小写字母和 ' ' 。 每个单词只由小写字母组成。 单词间由一个或多个空格字符分隔。示例:假设 words.txt 内容如下:the day is sunny the thethe sunny is is你的脚本应当输出(以词频降序排...

2018-10-11 22:26:53 1379

原创 父进程退出之后,子进程会发生什么?

在linux中,所有进程都有一个共同的父进程systemd,如果父进程退出了,子进程还没运行结束,子进程会被systemd(老版本的linux是initd)收养下面用一个小程序来验证一下:#include &lt;cstdio&gt;#include &lt;sys/types.h&gt;#include &lt;unistd.h&gt;#include &lt;errno.h&g...

2018-10-03 15:27:37 10741

原创 epoll的用法

示例如下:#include &lt;pthread.h&gt;#include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;#include &lt;string.h&gt;#include &lt;errno.h&gt;#include &lt;sys/types.h&gt;#include &lt;sys/epoll.h&gt;#incl

2018-10-01 22:58:31 215

原创 C++虚函数表在虚继承和继承中的差别

下面的代码在gcc和VC中的结果#include &lt;cstdio&gt;class A{public: virtual void funcaa() { printf("class A %s\n",__func__); }};class AA:virtual public A{public: virtual void funcaa() { printf...

2018-09-30 21:32:41 211

原创 Windows编译boost

下载boost压缩包解压,找到bootstrap.bat文件1、运行bootstrap.bat2、编译&amp;安装在步骤1之后,会生成一个b2.exe文件如果选择VS编译下面的“toolset=msvc”,要求编译器支持c++11,所以尽量使用VS2013及以上版本,推荐VS2015(VC14.0)如果选择mingw64编译下面的“toolset=gcc”其中-j4表示使用...

2018-09-16 00:14:43 651

原创 牛客网-调整数组顺序使奇数位于偶数前面

输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。class Solution {public: void reOrderArray(vector&lt;int&gt; &amp;array) { int position = 0; ...

2018-09-01 23:26:53 169

原创 树莓派检测ip脚本

在树莓派上运行web服务器,但有时候开机完网络没有启动成功,需要重启networking服务,所以写了一个脚本来检测IP是否为192.168.x.x,如果不是则重启networking#!/bin/bashwhile truedo IP="$(ip addr show eth0|grep "inet\b"|awk '{print $2}')" VAL_C...

2018-08-06 23:50:15 431

原创 为树莓派3b+移植64位debian

系统我已经移植好了,百度云:链接:https://pan.baidu.com/s/1-lZK54ogBH9zhBG2pJb2Kg 密码:4ca7主要信息:1、内核版本:Linux debian 4.17.11-v8+ #1 SMP PREEMPT Sat Aug 4 11:50:39 CST 2018 aarch64 GNU/Linux2、debian版本:Debian GNU/Lin...

2018-08-05 14:24:11 2038

原创 为树莓派3b+编译64位内核

1、从github上下载内核源码github地址https://github.com/raspberrypi/linux$git clone --depth=1 -b VERSION https://github.com/raspberrypi/linux.git其中VERSION替换为对应的版本号,比如rpi-4.14.y2、configure$make ARCH=arm64...

2018-08-05 14:22:29 3038 3

原创 设计模式之单例模式

例模式可以保证系统中只有一个类只有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享。单例模式的要点有三个:1. 单例类只能有一个实例2. 它必须自行创建这个实例3. 它必须自行向整个系统提供提供这个实例。单线程的工厂模式:饿汉模式singleton.h#ifndef _SINGLETON_H_#define _SINGLETON_H_#inc...

2018-07-20 21:54:09 206

原创 查找第二大的元素

给定一个数组,找出第二大的元素 #include &lt;iostream&gt;#include &lt;set&gt;using namespace std;int find_sec_max(int a[],int n);int main(){ int aa[]={9,4,6,7,56,76,57,65,47,95,41,85,462,365,984,58,48,465...

2018-07-18 14:42:38 651

Linux版FTDI USB转串口驱动,FT232

FTDI官方Linux版本的FT232 USB转串口驱动,需自行编译安装,3.16内核经测试可以使用,4.x内核已经集成了该驱动,不需额外安装

2017-11-19

FTDI USB转串口驱动FT232

FTDI USB转串口驱动,适用于FT232,Windows平台,版本2.12.28,FTDI官方驱动

2017-11-19

glut37.zip和glut37data.zip

OpenGL,解压后得到两个文件glut37.zip和glut37data.zip

2017-10-21

OpenCV计算机视觉编程攻略(第2版)源码

OpenCV计算机视觉编程攻略(第2版)源码,人民邮电出版社,OpenCV Computer Vision Application Programming Cookbook,Second Edition.你可以从Packt下载该源码,但是国内网络环境特殊很难下载成功

2017-07-29

STM32F103并行驱动LCD12864

STM32并行方式驱动LCD12864,12864是3.3V版本

2017-04-18

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

TA关注的人

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