自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

哦,原来你也在这里。

Linux、C++、Python、Golang、数学

  • 博客(50)
  • 资源 (26)
  • 问答 (2)
  • 收藏
  • 关注

原创 Python 3.9就要来了......,令人兴奋的时刻

本文主要介绍Python3.9的一些新特性,如:更快速的进程释放,性能的提升,简便的新字符串函数,字典并集运算符以及更兼容稳定的内部API,详细如下: 字典并集和可迭代更新 字符串方法 类型提示 新的数学函数 新的解析器 IPv6范围内的地址 新模块:区域信息 其他语言更改 1、字典并集和可迭代更新 Python 3.9 dict类。如果有两个字典a和b,则现在可以使用这些运算符进行合并和更新。我们有合...

2020-09-29 10:16:32 13184 20

原创 vim实用指南(6):分割窗口(6)——打开文件时间分割窗口

1、水平分割:vim -o file1 file2 .... filen 如下图所示: 2、垂直分割:vim -O file1 file2 ... filen ,如下图所示:

2020-09-29 10:06:30 430

原创 vim实用指南(6):分割窗口(5)——窗口其他命令

todo

2020-09-29 10:03:45 308

原创 vim实用指南(6):分割窗口(4)——移动窗口

todo

2020-09-29 09:56:54 1568

原创 vim实用指南(6):分割窗口(3)——调整窗口大小

CTRL-W =:把所有窗口调整为相同大小,

2020-09-29 09:47:34 1059

原创 vim实用指南(6):分割窗口(2)——在窗口间跳转

1、跳转命令 CTRL+W:激活窗口命令,然后配合使用h、j、k、l实现在窗口间的跳转,如下:2、实现任意分割 交替配合使用:split、:vsplit,以及上面的跳转命令,即可达到任意分割vim窗口的目的,效果如下:...

2020-09-28 21:29:13 1144

原创 vim实用指南(6):分割窗口(1)——简单分割

大显示时代,一个屏幕显示一个vim窗口有点浪费了,那么,能不能充分利用屏幕的空间呢?答案是当然可以,可以根据自己的需求把vim分割成任意小窗口,如下:1、水平分割——split 在命令模式输入split,则会把vim当前窗口水平等分为两个窗口,如下图所示:2、垂直分割——vsplit在命令模式输入:vsplit,则会把当前窗口垂直等分为两个窗口,如下图所示:注意:上面在分割窗口的时候,新窗口的内容与原窗口的一致3、分割窗口,并在新的窗口打开文件 只需要在输入分割窗...

2020-09-28 21:20:15 1430

原创 这些笑死人不偿命的代码,你见识过吗?

Stringresult;......returnresult.toString();这种算吗?大家尽情吐槽吧Cyandev 的分享if(m_doc->isModified()==true){for(inti=0;i<100;i++){save();//Savethedocumentfor100timestoensureithasbeensavedsu...

2020-09-27 07:05:30 623 3

原创 AMD 或已获得对华为供货许可(待进一步求证中)

近日,AMD 高级副总裁、数据中心暨嵌入式部门业务总经理 Forrest Norrod 在德银技术大会上接受采访,除了对公司发展近况做了相关介绍之外,他还专门谈到了中美关系对 AMD 与华为的合作产生的影响。Forrest 表示:“我们 100%致力于遵守美国法规,并已经采取了我们认为适当的方法,以确保我们管理好实体名单以及与客户或潜在客户的互动。但是基于我们已经获得的许可,预计目前我们的业务不会因为任何与禁令有关的行动而受到重大影响。”但是,Forrest 本人及报道消息的媒体均没有告知,AM

2020-09-26 21:51:50 322

原创 zmq xsub/xpub 实现消息订阅(一)

xpub/xsub官网的解释是增强了pub/sub模式,并且支持双向消息收发。经过阅读其源码,发现xpub/xsub不仅仅是增强了pub/sub,还有些许改动,如:在xsub类型的socket上不能设置subscribe选项:zmq_setsocket(socket,ZMQ_SUBSCRIBE,0x01);会报不支持的错误,那么,xsub类型的socket到底该如何达到订阅消息的目的呢?1、官网的:https://rfc.zeromq.org/spec/29/ 竟然没有解释。。。。有点神操作了.

2020-09-24 16:30:41 3983

原创 c++11把时间转换为字符串方法大全

C++11格式化时间的方法非常方便,主要使用了std::put_time的方式来进行格式化: 定义于头文件<iomanip> template<classCharT> /*unspecified*/put_time(conststd::tm*tmb,constCharT*fmt); 具体的格式化时间的代码如下:auto time=std::chrono::system_clock::t...

2020-09-24 16:09:29 2557

原创 vim实用指南(5):编辑命令(删除、修改、复制、重复)(4)——重复

万能的.命令一、重复修改、删除——.命令 删除一个字符、一个单词、或一行,有的时候需要重复删除内容,那么只需要执行.即可二、重复插入——.命令 插入内容后,同样执行.命令可以执行重复插入...

2020-09-23 13:09:44 480

原创 vim实用指南(5):编辑命令(删除、修改、复制、重复)(3)——复制

1、复制单个单词——yw或yiw、yW或yiW 复制光标所在的单词到vim寄存器2、复制n个单词——nyw或nyW3、范围复制,复制()、{}、""、[]内的内容——yi(、yi{、yi"、yi[ 将光标放在()、{}、""、[]之内,执行相应的命令可复制()、{}、""、[]包含的内容4、复制整行——yy5、复制多行——nyy...

2020-09-23 13:01:46 536

原创 vim实用指南(5):编辑命令(删除、修改、复制、重复)(2)——修改

1、修改单个字符——r命令 rx:会把光标所在字符修改为x2、修改多个字符——nr命令 3rx:会把光标及之后的2个字符修改为x3、修改到行尾——r$命令:4、修改到行首——r^命令:5、修改——s命令: 此命令会删除光标所在字符,并将vim设置为insert模式6、修改整行——S命令: 此命令会删除光标所在行的所有字符(除回车外),然后将vim设置为insert模式...

2020-09-23 12:53:26 458

原创 vim实用指南(5):编辑命令(删除、修改、复制、重复)(1)——删除

1、删除单个字符——x命令 在normal模式下,按下x会删除光标所在的字符,如: 此时按x会删除u字符。类似的,大字的X删除光标前面的字符。2、删除多个字符——nx命令 n代表数字,如:5x #代表一次删除光标所在字符及后面的5个字符,100x代表一次删除100个字符类似的,大字的nX则会删除光标前面的n个字符3、删除单个单词——dw命令 dw会删除从当前光标开始的单词(不是光标所在的单词,dw可理解为:delete ...

2020-09-22 13:23:40 1987

原创 win10应用程序工具栏刷新的问题

最近,在一台新安装的windows10操作系统下,安装了MTPuTTY,在使用过程中,发现每隔一分钟左右就会刷新一次工具栏,每次刷新3-4秒钟,并且会暂时卡死MTPuTTY。与MTPuTTY 沟通后,对方反馈说暂时没有收到类似的bug,可能是其他程序导致的。网上提到的重置“默认程序”的方法没有效果。几经波折后,终于发现了原因——由windwos的“透明效果”引起的。关闭windows的“透明效果”即可:...

2020-09-22 12:46:01 734 2

原创 C++20终于要来了...

近日,国际标准化组织(ISO)C++ 组,21 工作组(WG21)正式通过了最终版本的“C++20”草案。WG21 C++ISO 委员会常任主席Herb Sutter说:“在 9 月 4 日,C++20 的 DIS(国际标准草案)投票结束,并获得一致通过。”“这意味着,C++20 现在获得了最终技术许可,并且完成了 ISO 投票。我们希望在完成最后一轮 ISO 编辑工作后,C++20 能在 2020 年底正式发布。”从历史标准来看,2020 年的 C++ 版本非常庞大。Herb Sutter..

2020-09-22 09:56:44 10680 24

原创 linux下,按tab补全时,忽略大小写的配置

在~目录,执行命令:vim .inputrc并添加如下内容(尽量不要修改已经存在的内容):# do not show hidden files in the list set match-hidden-files off # auto complete ignoring case set show-all-if-ambiguous on set completion-ignore-case on 然后按:wq保存此时重新打开终端就能看到效果了。...

2020-09-21 14:35:42 2586

原创 关于C++的数据模型:LP32、ILP32、LLP64、LP64

所以,不用争执数据类型的长度了,要有一个大前提存在。

2020-09-18 18:47:03 820

原创 lmdb性能测试——代码及结果

#include <iostream>#include <string>#include <chrono>#include "lmdb.h"using namespace std;int main(int argc, char* argv[]){ int res; MDB_env *env; MDB_dbi dbi; MDB_val key, data; MDB_txn *txn; //init lm.

2020-09-18 15:50:52 1665 8

原创 一款非常优秀的内存数据库——lmdb

lmdb是一款开源的高效快速的内存映射数据库,C语言编写,基于B+树索引,支持MVCC事务处理,是一个嵌入到进程的数据库,不需要单独的数据库进程,在代码中使用lmdb的接口即可方便地实现读写lmdb数据库。github:https://github.com/LMDB/lmdb.git下载并编译、安装git clone https://github.com/LMDB/lmdb.gitcd lmdb/libraries/liblmdbmakesudo make install示例代.

2020-09-18 13:36:23 8661 10

原创 google好用的gFlags——解析命令行参数(支持c++和python)

一、简介GFlags是Google开源的一套命令行参数处理的开源库,包括C++的版本和python 版本。和 getopt() 之类的库不同,flag的定义可以散布在各个源码中,而不用放在一起。一个源码文件可以定义一些它自己的flag,链接了该文件的应用都能使用这些flag。这样就能非常方便地复用代码。如果不同的文件定义了相同的flag,链接时会报错。二、在程序中定义Flags定义一个flag是简单的:只需要使用你想用的类型的相应的宏就可以。example:// foo.cc#inc

2020-09-17 17:04:09 1606

原创 在windows上安装并使用linux(非虚拟机,windows和linux终于合体了)

windows目前有两个拿得出手的产品coder工具:一个是vscode,另外一个就是Windows Terminal。对于一个程序员来说,命令行相当于他们的麒麟臂。现在,Windows和Linux终于合体了。在同一个系统下,你可以为所欲为:写程序,看电影,玩游戏。一、安装windows terminal 在windows上连接其他Linux的时候,我通常使用MTPuTTY+putty,很多人会使用xshell,当然还有一些别的终端工具。现在,就可以在Windows上安装Window...

2020-09-17 14:08:10 2095

原创 git 在命令行提交merge request

Note:Git push options are only available with Git 2.10 or newer.For Git versions 2.10 to 2.17 use--push-option:git push --push-option=<push_option>For version 2.18 and later, you can use the above format, or the shorter-o:git push -o &l...

2020-09-17 12:41:25 8109 3

原创 vim安装YouCompleteMe后,打开vim时,报错:_socket.cpython-38-x86_64-linux-gnu.so: undefined symbol: PyFloat_Type

这不是vim的bug也不是YouCompeleteMe的bug而是,安装python3的问题,按照下面的说明重新安装python3即可,并在python3中import ctypes 如果不报错,则证明修复成功,花了两个小时解决的问题。。。。。。一直以为是vim、ycm的问题,因为python3能正常使用。。。说起来都是泪。。。详见:issues-3760:https://github.com/ycm-core/YouCompleteMe/issues/3760...

2020-09-16 18:22:48 2481 2

原创 vim实用指南(四):帮助(1)——使用帮助命令

现在网络越来越发达了,虽然可以通过各大搜索引擎搜索遇到的问题,但有的时候可能没有那么方便或准确,存在版本、系统等差异。其实,vim提供了非常详细全面的帮助系统,所以,建议大家优先使用vim的帮助。1、命令格式: :help {帮助主题} 如: :help fileformat<CR> #则代表要查看fileformat的帮助 ...

2020-09-16 09:41:04 575

原创 ubuntu apt-get update error:ModuleNotFoundError: No module named ‘apt_pkg‘

ubuntu升级python后,有可能会导致apt-get update、apt-get upgrade等命令出现错误:找不到apt_pkg模块,一般解决的办法是:1、先进入目录:cd /usr/lib/python3/dist-packages/2、查找apt_pkg*.so:ll *apt_pkg*.so 会找到一个类似的库(与机器、安装包相关):apt_pkg.cpython-36m-x86_64-linux-gnu.so 但是找不到apt_pkg.so文...

2020-09-15 18:51:55 6697 7

原创 windows上传输文件到linux的方法

一、winscp 一个可视化的文件传输工具,传文件非常方便二、scp scp user_name@192.168.0.116:~/dotfilesC:/ 如果是文件则,则使用-r选项三、pscp在putty安装目录下,存在可执行文件pscp.exe,用法跟scp命令相似,win+R 输入 cmd进入命令行,比如要将本地的dotfiles.tar文件上传到远程计算机192.168.0.168的user_name的h...

2020-09-15 13:57:56 3588

原创 ssh_init: Network error: Cannot assign requested address的解决办法

使用pscp从windows传文件到linux时,使用命令:pscp source_file username@linux_ip:dst_dir有时候会报错:ssh_init: Network error: Cannot assign requested address那么,到底是什么问题呢?怎么解决呢?1、用wireshark竟然抓不到包2、仔细阅读pscp的命令参数最终解决,增加-P参数: pscp.exe -P 22dotfiles.tar.bz...

2020-09-15 13:49:13 3423

原创 vim实用指南(三):使用标记(2)——内置标记

在使用vim的过程中,vim会自己设置一些标记,主要如下:1、‘(单引号):本次跳转之前的光标位置,那么在normal模式下可以使用''(连续按两个单引号)来跳转到之前的位置,非常方便2、"(双引号):最后一次编辑处的光标的位置(你每一次编辑的是时候vim都会自动设置这个标记)3、[:最后一次修改的开始的位置4、]:最后一次修改的结束的位置这些标记还是非常好记忆的,...

2020-09-15 09:53:06 523

原创 vim实用指南(三):使用标记(1)——设置、跳转、 查看

vim允许用户定义自己的标记,以便于方便跳转(从一个函数跳转到另一个函数,再跳回来);1、设置标记: 使用m命令来设置标记,如在normal模式下,按下ms,则设置了一个名字为s的标记,2、跳转到标记 接上,在normal模式下,按下's,则会跳转到a标记的位置(建议移动一下光标再执行此命令,比如,执行G命令跳转到文末尾)3、查看标记 当设置了很多标记时,可能记不清楚设置的标记了,那么可以输入:marks来查看设置了哪些标记...

2020-09-15 09:40:58 1984 5

原创 vim实用指南(二):查找(2)——正则查找

一、匹配行首 ^匹配行首 如:/^the #则只会查找以the开头的行,注意,是行,不是单词二、匹配行尾 $匹配行尾, 如:/the$ #则只会查找以the结尾的行,三、匹配任意单个字母 .匹配任意单个字母 如:/.the #则匹配包含the的单词四、其它 vim使用的是正则匹配,个人感觉为了学习查找而去学习正则有...

2020-09-12 10:40:24 1487

原创 vim实用指南(二):查找(1)——简单查找

一、正向查找命令:/string 如要查找的是include,则在normal模式,先按/键,然后再输入: include<CR> #<CR>代表回车键 即可启动全文查找(与前面提到的f/F、t/T不同) 启动查找后,可以使用n进行前向查找(find next),也可以使用N进行反向查找;二、反向查找命令:?string ...

2020-09-12 10:31:51 2274

原创 vim实用指南(一):光标移动(3)——滚动屏幕

一、滚动整屏(翻页) 1、向上滚动整屏(左Ctrl+forward):Ctrl+f 2、向下滚动整屏(左Ctrl+backward):Ctrl+b二、滚动半屏 1、向下滚动半屏(左Ctrl+Down):Ctrl+d 2、向上滚动半屏(左Ctrl+Up):Ctrl+u 三、滚动一行 1、向上滚动一行(左Ctrl+Extra one lin...

2020-09-12 09:30:06 2354

原创 vim实用指南(一):光标移动(2)——行内、行间移动

一、行内查找: 1、行内向后查找(find):f 如:fl,则在当前行向后查找l,如果找到则光标会定位到l字符 2、行内向前查找(Find):F 如:Ff,则在当前行向前查找f,如果找到则光标会定位到f字符 3、行内向后查找(to):t 如:tn,则在当前行向后查找n,如果找到则光标会定位到n字符的前一个字符 4、行内向...

2020-09-11 20:35:47 2503 1

原创 vim实用指南(一):光标移动(1)——在单词间移动

1、移动到下一个单词头部:w 2、移动到前一个单词头部:b 3、移动到下一个单词尾部:e 4、移动到前一个单词尾部:ge 5、向后移动到以空格分隔的字符串头部:W6、向前移动到以空格分隔的字符串头部:B7、向后移动到以空格分隔的字符串尾部:E8、向前移动到以空格分隔的字符串尾部:gE...

2020-09-11 16:10:49 6080

原创 vim实用指南(零)基础知识——常用的按键标识符

2020-09-10 15:42:33 471

原创 cmake find_package的基本原理与详细示例(二):find_package的Module模式简单示例——查找自定义模块

简单的find_package的示例,一、目录结构如下: 二、代码文件&安装目录:1、lib目录:demo.h:#include <iostream>#include <string>namespace test{ std::string run();}demo.cpp:#include "demo.h"namespace test{ ...

2020-09-10 08:48:50 1691

原创 vim 8.2 中文手册

http://vimcdoc.sourceforge.net/doc/

2020-09-08 22:20:01 1298

原创 已经配置好的cpp.snippets,可直接使用或根据自己的需求修改

priority -50extends c# We want to overwrite everything in parent ft.priority -49############################################################################ Global functions ###########################################################.

2020-09-08 15:15:04 523

django.pdf

Django Documentation Release 3.1.6.dev

2021-02-18

2020CPP-Summit.rar

2020全球C++及系统软件技术大会PPT合集,包含了C++之父、世界各地开发人员及老们的所有PPT,如:著名的潘爱民老师、陈峰老师、吴咏炜老师等; 考虑到有的同学下载比较慢,所以拆分了多个资源。

2021-01-21

gcc10源码及依赖库第三部分(下载完成第一、二、三部分后,解压即可编译)

包含了gcc10的最新的源码(10.2.0)及依赖库,下载后可以直接编译、安装。一定要下载完三部分才可以解压,然后进行构建 : 详细的构建过程请参见:blog.csdn.net/lianshaohua/article/details/112599062

2021-01-20

gcc10源码及依赖库第二部分(下载完成第一、二、三部分后,解压即可编译)

包含了gcc10的最新的源码(10.2.0)及依赖库,下载后可以直接编译、安装。一定要下载完三部分才可以解压,然后进行构建 : 详细的构建过程请参见:blog.csdn.net/lianshaohua/article/details/112599062

2021-01-20

gcc10源码及依赖库第一部分(下载完成第一、二、三部分后,解压即可编译)

包含了gcc10的最新的源码(10.2.0)及依赖库,下载后可以直接编译、安装。一定要下载完三部分才可以解压,然后进行构建 : 详细的构建过程请参见:blog.csdn.net/lianshaohua/article/details/112599062

2021-01-20

xpub_xsub.rar

基于zmqpp接口实现的ZMQ_XSUB、ZMQ_XPUB模式,xpub端发布消息,xsub端订阅消息(xsub通过send接口订阅topic,这一点与sub不同)

2020-11-05

正三角形代码.rar

用python的几行代码实现在控制台输出一个正三角形,比较简单的一个习题,但是对于思考还是很有帮助的

2020-11-04

client_server.rar

基于zmqpp实现的ZMQ_CLIENT和ZMQ_SERVER模式,可编译直接运行,即可见到效果,client和server模式目前还在DRAFT阶段,稳定后会在正式版本支持的。

2020-11-04

pub_sub.rar

基于zmqpp实现的zeromq的publish-subscribe模式,实现了一发多收的功能,同时sub端可以订阅自己指定的topic(序中支持了三种topic的订阅)

2020-11-04

req_rep.rar

基于zmqpp的zeromq的请求-响应代码,最简单的模式,也是zeromq最脆弱的模式,必须遵循”发一次请求,接收一次响应“的规则 ,否则程序将陷入无限的等等中;

2020-11-04

find_package_simple.rar

find_package module模式的示例代码,包含了依赖库的构建文件、main的构建文件、Findxxx.cmake的查找文件

2020-09-10

vimrc(C++IDE,YCM)

安装了多种插件,如:ctrlp、ycm、fzf、vim-snippets、wm。 下载后可以直接使用(ycm需要安装,安装过程详见我的博客:https://blog.csdn.net/lianshaohua/article/details/108225916)

2020-09-08

vim的配置文件vimrc

vimrc的模板,对vim进行了大量的配置,安装了十几个插件,把vim打造成了具有智能提示、智能补全功能的IDE;其中,ycm插件的安装可参见我的博客

2020-09-03

multi_cast.rar

linux平台下面的,基于udp的组播示例,包含了发送和接收示例代码,还有CMakeLists.txt文件,下载后可直接编译运行

2020-09-01

(cmake最全的书)cmake.pdf

cmake大全,详细介绍了cmake的安装、配置、使用;可谓是不可多得好书,网上很多只介绍了一部分,这本书从基础到高级,都有介绍

2020-08-26

Visual Assist X.rar

microsoft visual studio 的visual assist X助手,支持vs2019

2020-08-18

kline.rar(python源代码)

使用python免费获取证券、数据货币的k线数据,具体的做法详见kinke.rar中的py文件,代码相对来说简单,效率非常之高

2020-08-04

centos7的yum源

centos7的yum源,下载后解压,然后放到/etc/yum.repo.d/目录,然后执行:yum clean && yum makecache命令,即可使用yum install安装

2019-02-20

基于boost的序列化与反序列化

1、包含文件和二进制两种序列化的方式 2、支持类的序列化和STL容器的序列化 3、支持序列化的流自定义(示例中使用的是std::stringstream,也可以使用其他的流)

2018-09-07

3DES加密算法C++实现

1、实现了3DES功能的C++代码 2、支持多个key输入、支持ECB、CBC填充模式 3、不是.exe程序,是代码段;

2012-01-31

模拟生产者/消费者问题

用C#实现生产者和消费者问题: 1、用线程实现 2、详解使用了同步与互斥 3、引例能达到举一反三的作用,可以解决工作中很多与线程有关的问题

2009-11-13

可停靠的窗口

通过使用开源的WeifenLuo.WinFormsUI.Docking.dll,成功的创建出了类似于VS2005的可停靠窗口,个人感觉非常的酷,当然也非常的好用,能记住您当前窗口的个数及们置状态,下次启动自动加载......

2008-05-30

Hashtable的使用

Hashtable的基本用法,遍历等操作

2008-05-26

异形窗体的实现

用代码/图片实现异形窗体,图片的实现稍稍慢一些

2008-05-26

递归选中TreeView当前结点的所有子结点

几行简单代码,雕虫小技,但可以演生出一些其它功能来

2008-05-26

SaveTreeNodesToXML

把Treeview的结点保存为XML文件并从XML文件生成树结点 (有点过时了。。。。。。请大家三思下载,由于对我来讲太简单再加上工作忙所以也没有时间更新,对不起!)

2007-08-15

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

TA关注的人

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