自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

L_Andy的专栏

智者的勇气!!

  • 博客(339)
  • 资源 (20)
  • 收藏
  • 关注

原创 解决报错:VS编译报C4996‘strncpy‘...To disable deprecation, use _CRT_

在项目-属性-C/C++-命令行-其他选项中,输入: /D"*****", 注意*****指的是编译后调试信息中提示的 use _CRT_SECURE_NO_WARNINGS,提示use什么就填入什么。比如:/D"_CRT_SECURE_NO_WARNINGS" 注意引号中无空格。在项目-属性-C/C++-常规-SDL检查,更改为否。此方法可生成dll文件,但仍可能存在警告。采用 strcpy_c 函数。

2023-04-20 13:43:10 1298 1

原创 Python中函数的各种类型参数详解

Python中函数的参数类型非常丰富多彩。Python的函数支持的参数类型包括:(1)位置参数(2)默认参数(3) 可变参数(4)关键字参数(5)命名关键字参数。

2023-03-08 13:30:57 711

原创 Linux文件权限错误——用getfacl和setfacl恢复。

为了方便操作,一般我都是使用root登录管理权限。在这至高无上的权限面前,一个不慎就会发生各种各样的悲剧。前两天,原本打算执行。-R 777 ./* ,结果手滑打少了一个.。虽然及时按 ctrl + c 终止命令,但悲剧已经发生。查看发现/usr下的可执行文件都改成777了。麒麟重新启动---进入安全模式,在安全模式下可以正常操作。重启电脑正常进入麒麟系统,尝试获取管理员权限。发现su可以了,但是sudo还是不行。后来有蹦出一堆错误。这几项也检查了一下。后来发现“所有者了”

2023-03-06 19:55:39 871

原创 彻底理解python生成器

在Python中,一边循环一边计算的机制,称为生成器:generator。什么是生成器?生成器仅仅保存了一套生成数值的算法,并且没有让这个算法现在就开始执行,而是我什么时候调它,它什么时候开始计算一个新的值,并给你返回。

2023-03-03 09:25:06 453

原创 初识Python装饰器

在这段代码里,原有的程序就是index函数部分代码未做任何修改,index函数的调用方式也未做任何改变,统计程序的运行时间的功能也已经添加完成,这里就使用了装饰器的功能。软件需求总是变化的,世界上没有一个软件的是不变的,因此对软件设计人员来说,必须在不需要对原有软件代码进行修改的情况下,实现灵活的系统扩展。函数可以作为对象赋值给一个变量,可以作为元素添加到集合对象中,可以作为参数值传递给其它函数,还可以当做函数的返回值被引用。在python中,有一个很好的设计,那就是装饰器。函数的上面一行的那个。

2023-03-03 09:18:40 284

原创 python中的闭包函数

闭包的定义为:在函数内部定义的函数,称为内部函数内部函数调用了外部函数的局部变量即使内部函数返回了,还是可以使用局部变量通常闭包函数的内层函数都要被返回给外部函数闭包函数的外部函数可以在任何地方被调用,而不再受函数定义时层级的限制。

2023-03-03 09:17:01 1363

原创 python中lambda的用法

lambda 在Python编程中使用的频率非常高,我们通常提及的lambda表达式其实是python中的一类特殊的定义函数的形式,使用它可以定义一个匿名函数。即当你需要一个函数,但又不想费神去命名一个函数,这时候,就可以使用 lambda了。结果以上可以看出,lambda 表达式使得代码更为紧凑,但理解起来却没有定义函数那么看起来直白易懂。因此,关于使不使用 lambda表达式一直存在争议,就看个人选择了。

2023-02-10 13:53:58 5774

原创 Linux中文件特殊权限suid、sgid、sticky(有图详细讲解)

环境:centos 7.9Linux中文件的普通权限一般为:rwx,对应与数字表示:421,除此之外,文件还有三种特殊权限,就这是我们本节要讲的三种特殊文件权限。linux文件的三种特殊权限分别是:suid权限、sgid权限、sticky权限;其中suid权限作用于文件属主,sgid权限作用于属组上,sticky权限作用于other其他上。

2023-02-07 10:04:08 2202

原创 Docker容器日志查看与清理(亲测有效)

如果docker容器正在运行,那么使用rm -rf方式删除日志后,通过df -h会发现磁盘空间并没有释放。上述方法,日志文件迟早又会涨回来。docker logs -f container_name噼里啪啦一大堆,很占用空间,不用的日志可以清理掉了。max-file=3,意味着一个容器有三个日志,分别是id+.json、id+1.json、id+2.json。重启nginx容器之后,其日志文件的大小就被限制在5GB,再也不用担心了。但是,这样清理之后,随着时间的推移,容器日志会像杂草一样,卷土重来。

2023-02-06 14:28:16 1060

原创 docker下overlay2占用空间过大,清理docker占用空间

最近开发时,发现空间满了,导致redis,数据库都无法正常使用,才想起来docker默认的存储路径是在root下面,不知道自己的路径在哪儿的可以。注意:后面多了一个docker,这是因为我们同步完成之后会发现lib下多了一个docker目录,然后同步的内容全部在/lib/docker中。如果以上都没问题的话就开始暴力删除我们原本的存储目录 /var/lib/docker。然后将/var/lib/docker/lib下的内容迁移到新目录下。直接rm -rf /var/lib/docker/即可。

2023-02-06 11:06:51 2241

原创 do...while(0)在宏定义中的巧妙用法

这里将函数主体使用do()while(0)包含起来,使用break来代替goto,后续的处理工作在while之后,就能够达到同样的效果。我们在写代码的时候都习惯在语句右面加上分号,如果在宏中使用{},代码里就相当于这样写了:“{...};这个宏的本意是,当调用DOSOMETHING()时,函数foo1()和foo2()都会被调用。while(0)的功能就不仅仅是循环了,这是do..while(0)的一种巧妙用法。实际上,do{...}while(0)的作用远大于美化你的代码。这显然与我们的本意不符。

2022-11-18 10:58:13 1005

原创 关于Qt4K高分屏自适应问题

从Qt5.14开始提供了高分屏缩放策略设置,需要在main函数前面设置 QApplication::setHighDpiScaleFactorRoundingPolicy(Qt::HighDpiScaleFactorRoundingPolicy::PassThrough);如果不想要高分屏,希望程序永远保持默认的尺寸,你需要在main函数前面设置 QApplication::setAttribute(Qt::AA_Use96Dpi);在main函数最前面设置QT的环境变量。新版本的Qt支持不是整数的缩放。

2022-11-01 15:31:31 1751

原创 关于 Qt使用QJsonObject解析失败的问题。

在QJsonObject转.toInt()/toLongLong()等类型时,转换失败。但是转toString()没有任何问题。这样,就可以结局问题。

2022-10-28 09:21:31 654

原创 QtPropertybrower源码编译

在加入源码代码时,Qt moc会分析代码,如果发现头文件中有Q_OBJECT宏,就会生成moc_filename.cpp文件,如果发现源文件中含有Q_OBJECT宏,就会生成filename.moc文件。所以,添加完源代码后的第一件事查看上述文件是否生成,特别是filename.moc,测试这些文件是否可以编译成功,如果不可以,查看项目vcxproj源码,检查项目文件的参数设置是否正确。另外,如果出现连接错误,检查相应的filename.cpp的属性,查看项类型是否为"c/c++编译器"或者其他属性。

2022-09-08 14:51:15 669

原创 VS2019 设置显示”高级保存选项“

VS2019安装完成后,在“文件”菜单下是不显示“高级保存选项”的,那如何设置,才能显示出来呢?在项目中经常遇到读取配置文件的场景,如果文件中有中文,经常遇到乱码的情况,这时就需要改变一下文件的编码方式了;点击“确定”按钮,即可在“自定义”弹窗的“预览”窗口中看到“高级保存选项”,还可以调节其在才当中的位置;只需打开json文件,点击“文件”-“高级保存选项”即可设置;左侧“类别”,选择“文件”,右侧即可找到“高级保存选项”;4、点击“文件”菜单,即可看到刚才添加的“高级保存选项”“菜单栏”选择“文件”;

2022-08-19 15:23:34 6325

原创 浅谈Docker 容器数据卷挂载小结

Docker 挂载卷问题总结。

2022-08-10 22:25:34 672

原创 VS code 离线安装插件/扩展方法

在实际工作中,由于大多开发环境为内网开发,无法连接外网,需要进行离线安装相应插件,此文用于记录vscode离线安装插件方法。1. 方法一: ① 到vscode官网 Extensions for Visual Studio family of products | Visual Studio Marketplace 搜索需要使用的插件名称 ② 下载对应扩展程序文件 ③ 到vscode中选择 "从VSIX安装" ④ 选择下载的扩展文件进行安装即可2. 方法二:备注:如果遇见使用方法一离线安装失败的情况

2022-06-30 19:54:53 9142 2

原创 如何处理 Qt 控制台应用程序中的按键事件?

示例一、控制台阅读器#ifndef CONSOLEREADER_H#define CONSOLEREADER_H#include <QThread>class ConsoleReader : public QThread{ Q_OBJECTsignals: void KeyPressed(char ch);public: ConsoleReader(); ~ConsoleReader(); void run();};#endif .

2022-05-31 09:40:57 434

原创 计算着色器(Compute Shader)

图形处理器(Graphics Processing Unit,简称GPU)每秒能够进行数以亿次的计算,目前其已成为一种性能十分惊人的器件。通常,GPU主要用来承担实时图形渲染中的海量数学运算,然而,其潜在的计算能力也可用于处理与图形无关的任务。CUDA:NVIDIA推出的通用并行计算架构,该架构能够使用GPU解决复杂的计算问题。OpenCL:针对异构系统进行并行编程的一个全新API,能够利用...

2022-05-13 09:18:45 739

原创 Linux 时间设置,永久,系统时间和硬件时间

一、Linux 时间设置,永久,系统时间和硬件时间在Linux中存在两个时间,系统时间和硬件时间系统时间system time:查询方式:date修改方式:date -s ‘12/05/2018 12:00:00’特 点:设置后,重启失效。硬件时间hardware clock:查询方式:hwclock --show修改方式:hwclock --set --date ‘2018-12-05 12:00:00’特 点:关机时仍然运行。设置时间永久生效:/硬件时间为基准,修改系统时间[

2022-05-13 09:13:19 1495

转载 有了这篇 Docker 网络原理,彻底爱了~

Docker 网络原理容器是相对独立的环境,相当于一个小型的 Linux 系统,外界无法直接访问,那他是怎么做的呢,这里我们先了解下 Linux veth pair。1. Linux veth pairveth pair 是成对出现的一种虚拟网络设备接口,一端连着网络协议栈,一端彼此相连。如下图所示:veth pair将两个网络veth0和veth1连通。2. 理解Docker0我们先查看本地ip这里我们分析可得,有三个网络:lo127.0.0.1...

2022-05-11 13:43:52 160

原创 Docker——入门实战

I. Docker简介Docker是一种新兴的虚拟化技术,能够一定程度上的代替传统虚拟机。不过,Docker 跟传统的虚拟化方式相比具有众多的优势。我也将Docker类比于Python虚拟环境,可以有效的配置各个版本的开发环境,比如深度学习与Java环境。其他的Docker简介也不需要过多介绍,可以参考很流行的《Docker — 从入门到实践》。关于博客,文末列出了最近在掘金上看到的一些入门类型文章。优势本人主要想用来配置开发环境,由于实验室机器系统环境版本等冲突的问题。先用一张Docke

2022-04-08 16:44:33 196

原创 Dockerfile及镜像制作实践

Dockerfile及镜像制作实践概述Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。我们通常会基于此文件创建docker镜像。准备工作centos:7镜像 (所有的镜像文件创建时都需要有一个空的centos镜像,就类似通过一个空的光盘或u盘创建一个系统启动盘是一样的)jdk压缩包 jdk-8u51-linux-x64.tar.gz(可以从官网去下载:oracle.org),基于此压缩包,制作jdk镜像。Dockerfile文件在创建新的镜像

2022-04-06 15:33:13 161

原创 银河麒麟设置静态IP

银河麒麟服务器版是基于ubuntu系统的。安装完银河麒麟服务器版后,发现 IP 没有分配上。可以采用 ubuntu的方式来配置:1、配置 IP、网关root@Kylin:~# vi /etc/network/interfaces 添加如下几行:auto ens32iface ens32 inet staticaddress 192.168.154.129netmask 255.255.255.0gateway 192.168.154.2 这里之所以写成 ens32...

2022-03-02 19:21:49 17952

原创 Docker 镜像、容器 常用命令,容器与宿主服务器文件复制

目录镜像常用命令镜像常用操作镜像下载加速容器常用命令容器常用操作容器端口映射进入 Tomcat 容器内部Docker 容器与宿主服务器文件复制本文讲解 Docker 镜像 与 容器操作 的常用指令,没有安装 Docker 的可以仓库 Docker 安装docker Hub 官网:https://hub.docker.com/本文环境:CentOS 7.2.1511 发行版本,内核版本为 3.10.0-327.el7 + Docker 1.13镜像常

2022-02-28 10:01:55 1901

原创 docker.service 修改指南

vi /lib/systemd/system/docker.servicedocker.service默认内容如下:[Unit]Description=Docker Application Container EngineDocumentation=https://docs.docker.comBindsTo=containerd.serviceAfter=network-online.target firewalld.service containerd.serviceWants=.

2022-02-26 19:29:16 7679 3

原创 Docker 离线安装(Linux)

一、环境1. CentenOS 7 内核3.1以上内核查看命令: uname -a2. 安装包:docker-19.03.8.tgz下载地址:https://download.docker.com/linux/static/stable/x86_64/二、安装1.解压 tar -xvf docker-19.03.8.tgz2.移动(/user/bin/目录下) cp docker/* /usr/bin/3.将docker注册为service...

2022-02-26 19:19:51 226

原创 FastDDS用cmake 构建工程的。

FastDDS用cmake 构建工程的。

2021-10-31 11:00:11 375

原创 linux下源码安装软件

linux下源码安装软件 在linux下的很多软件都是通过源码包方式发布的,这样做对于最终用户而言,虽然相对于二进制软件包,配置和编译起来繁琐点,但是它的可移植性却好得多,针对不同的体系结构,软件开发者往往仅需发布同一份源码包,不同的最终用户经过编译就可以正确运行,这也是非常符合c语言的设计哲学的,一次编写,到处编译么,而常见的二进制包,比如rpm和deb,软件开发者必须为每种特定的平台定制好专门的软件包,这个通过rpm文件的后缀名就可以初见端倪,比如ppc,sparc,i386之类,在这里不做过多的陈

2021-09-06 19:32:55 151

原创 Linux整理的笔记

一、Linux 时间设置,永久,系统时间和硬件时间在Linux中存在两个时间,系统时间和硬件时间系统时间system time:查询方式:date修改方式:date -s ‘12/05/2018 12:00:00’特 点:设置后,重启失效。硬件时间hardware clock:查询方式:hwclock --show修改方式:hwclock --set --date ‘2018-12-05 12:00:00’特 点:关机时仍然运行。设置时间永久生效:/硬件时间为基准,修改系统时间[

2021-09-06 19:25:54 287

原创 Colors Lite--颜色拾取工具

当我们在研发,需要修改颜色时。有了这个神器 Colors Lite。获取图片颜色值,小意思。。。

2021-03-17 16:42:51 820

原创 BomChecker —— 批量添加/删除 UTF-8 BOM的工具

1,简介有些IDE对代码的utf-8 带不带BOM有“挑剔”,不然容易出现乱码情况比如QtCreator 如果不带BOM,有时候中文就乱码了最开始我是用 notepad++ 菜单【编码】【转为 UTF-8 BOM 编码】来解决的不过只能单个文件处理,挺麻烦的,有了这个批量工具 BomChecker 就方便多啦!可以批量添加BOM,也可以批量删除BOM2,效果...

2021-03-17 16:29:23 739 1

原创 Qt QtConcurrent之 Run 函数用法

概述Concurrent是并发的意思,QtConcurrent是一个命名空间,提供了一些高级的 API,使得在编写多线程的时候,无需使用低级线程原语,如读写锁,等待条件或信号。使用QtConcurrent编写的程序会根据可用的处理器内核数自动调整使用的线程数。这意味着今后编写的应用程序将在未来部署在多核系统上时继续扩展。而这里要讲的是QtConcurrent::run函数的用法。函数原型如下:QFuture<T> QtConcurrent::run(Function funct

2021-03-17 14:50:56 2339

原创 Qt中解决:error C1083:无法打开源文件:“GeneratedFiles\Debug\moc_xxx.cpp”:No such file or directory

解决方法:打开工程文件.project删除与moc_xxxx.cpp、xxx.h、xxx.cpp文件在重新添加xxx.h和xxx.cpp文件到工程中。

2021-03-10 17:52:13 2271

原创 Xshell使用教程

Xshell是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议。Xshell 通过互联网到远程主机的安全连接以及它创新性的设计和特色帮助用户在复杂的网络环境中享受他们的工作。Xshell可以在Windows界面下用来访问远端不同系统下的服务器,从而比较好的达到远程控制终端的目的。很多人在安装虚拟机的时候安装结束之后,就在Linux进行操作,当然如果你能忍受centos自己的黑底白字,而且不能改变字体大小的设定。你完全就可以用.

2021-01-20 18:01:54 509

转载 PyQGIS开发 -- 创建第一个插件

上一节讲到了如何配置PyQGIS开发环境,以及使用Eclipse+PyDev工具进行QGIS开发调试。前面该说的都已经说了,以后就不废话,直接进入正题了。摘要本文将会详细阐述如何使用Python创建QGIS插件。创建插件最简单的插件开发工程构建方法,无非是使用Plugin Builder这个插件了。首先,打开QGIS软件,在菜单栏选择“Plugins -> Manage and Install Plugins”,搜索并添加“Plugin Builder”这个插件。安装成功

2020-11-01 10:36:05 418

转载 QGis二次开发基础 -- 属性识别工具的实现

属性识别工具,也就是常用的 identify 工具,它常常与诸如放大、缩小等地图工具放在一起,提供浏览地图要素的一项基本功能。为什么要单独讨论一下这个工具,是因为它与普通的地图浏览工具的实现有一些微小的差异。下面通过源代码的学习,来了解这个工具的实现方法以及掌握属性识别功能的实现机制。相关类要实现一个功能,首先自然是找到这个功能相关的类,并查看类之间的一些关系。这里,属性识别也是地图工具,因此,先查看一下地图工具类,也就是 QgsMapTool 类。QgsMapTool 类是一个抽象类,它的子类

2020-11-01 10:34:26 1790 3

转载 QGis二次开发基础 -- 根据属性查询要素

属性查询是GIS应用不可缺少的重要功能,尤其是在各种业务系统中,根据用户输入相应的查询条件,从属性要素中快速定位到用户感兴趣的要素,为业务应用提供了便利。本文就来聊一聊QGis二次开发中如何实现属性查询功能。其实这个功能我在写属性表格功能的实现时就提到过相应的参考源码了,只不过当时没有给出具体的实现方案。功能简介还是简单描述一下功能的使用。首先来看看通过属性来筛选属性表,打开属性表,见下图在左下角分别点击 “Show All Features In Initial Canvas Ext

2020-11-01 10:32:55 2658

转载 关于QGis1.8二次开发的环境配置

这篇文章是基于已经正确编译并且生成二次开发所需的库文件的基础上的,如果你还没有得到开发的库文件,请参见我的上一篇博文,点击这里查看。OK,要进行二次开发首先就是环境配置。这里使用的QGis版本为1.8。打开Visual Studio 2010,新建一个Qt application(如果你没有这个项目模板说明你没有正确安装Qt for vs add-in插件),这样做可以避免我们手动去添加Qt的库文件目录。出现如下界面:注意将 XML library勾上,这个非常重要,不然后面会报错。因为QgsM

2020-11-01 10:31:23 642

转载 QGis二次开发基础 -- 图标不显示问题

这篇文章将会解决QGis编译之后,部分图标不显示的问题,相信很多同学在Windows下编译时都遇到过这个问题,症状看下图。可以看到,其实并不是所有图标都不显示的,有一部分能够显示,说明并不是图标文件有问题,也不应该是缺少了一部分图标文件。实际上,肯定有同学还用Qt Designer打开过名为“qgisapp.ui”的文件,但是却可以明显看到图标显示正常,如下图。这说明,图标文件齐全、路径正确。但为什么运行程序时有些图标不显示呢?仔细观察会发现,这些不显示的图标都是“svg”格式的,例如下

2020-11-01 10:28:55 1961 1

Colors lite--颜色拾取神器

颜色拾取神器

2021-03-17

qssdemo.zip

qss,酷炫,黑色,半透明,qt

2021-03-03

QT版本的Tcp通信

服务端和客户端通信,非常适合新手和巩固的佳作。

2021-01-14

STK培训文档

STK培训文档,STK是由美国Analytical Graphics公司开发的一款在航天领域处于领先地位的商业分析软件。

2018-12-04

flex-2.5.4a-1.exe和Bison-2.4.1-setup.exe

编辑QGIS必须的安装程序,支持windows7和windowsXP的操作系统。

2017-10-18

MFC多点触控

多点触控的不错例子,对于初学者非常不错的资料。了解多点触控的入门必备啊。

2016-04-12

如何写一个批处理文件.dat.cmd

就是把DOS命令写在一个文本文件里面,然后保存的时候保存成"所有文件", 文件名是 名字.bat 就可以了。 不过BAT文件有很多特殊命令... 批处理制作教程 批处理文件是无格式的文本文件,它包含一条或多条命令。它的文件扩展名为 .bat 或 .cmd。在命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就会调用Cmd.exe按照该文件中各个命令出现的顺序来逐个运行它们。 在无盘运用及Hack入侵过程中,经常都会用到。

2016-01-18

软件工程电子书

软件工程电子书,方便预习,阅读,查找资料,高校教材。

2015-12-20

C#调用MFC带窗口的Dll源代码

C#调用MFC带窗口的DLl源代码, 附件包括: MFC共享DLL源代码, C#调用主程序源代码. 两个都是在VS2008下编译,DLL中有两个函数,一个是普通函数,一个是可弹出对话框的函数. ------------ 补:因自己需要这方面的资料,在CSDN上下载了几个, 可都不太满意,不是太过简单,就是源代码不全. 干脆自己研究写了这个例子,不敢独自占有,拿出来和大家分享.

2015-09-11

vc++录屏源码

三个录屏软件源码,wma,avi格式。对于提高录屏编码有很大提高,全都可以运行哦。

2015-05-19

飞秋vc++源码

用vc2010能打开,已经实现了飞秋的基本功能,非常适合学习。

2015-01-28

osg拖拽器Dragger简介一、二

比较详细的讲解osg中拖拽器中的基本原理。适合了解。

2015-01-14

CListCtrl自绘控件,改变单元格背景颜色,字体大小

CListCtrl自绘,改变单元格背景颜色。字体大小。

2014-04-14

MapInfo基础教程

MapInfo 非常全面的文档,非常值得一看,很适合入门者。

2014-04-10

MapInfor基础教程

文档非常全面,值得一看,非常适合新手,入门,了解MapInfor信息

2014-04-10

mapInfor教程

本文档全面,非常适合新手,入门,可以全面了解MapInfor的信息知识。

2014-04-10

sqlserver2008数据库实例练习

可以用来学习操作数据库的例子,里面包含几张表,大概是学生成绩管理系统。你可以用来自学查询、更新、插入、删除等等。这是用2008做的数据库,如果需要用2005或更低版本打开,请百度转换方法。

2012-11-25

学生请假管理

MFC 数据库的基础开发,Access SQLserver 记录集等

2012-11-24

Authorware

简单实现authorware 计算机辅助教育-起到指导的作用。

2011-12-15

空空如也

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

TA关注的人

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