自定义博客皮肤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、数学

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

原创 手把手教你配置vscode的c++开发环境(wsl + 远程)

一定记得在linux安装gcc/g++开发环境一定记得在linux安装gdb调试工具,有些默认没有安装,即使正确配置了launch.json和task.json,也会报错。。。

2022-11-05 12:03:23 4174

原创 netstat 命令详解

netstat命令是常见的查看网络信息的命令,主要包括网络连接的信息、路由表的信息、网卡的信息和广播的信息等;本次不会讲解如何使用netstat命令,详细的使用方法请参见:man netstat本次主要聊一聊网络连接的信息,当使用netstat -anop命令时,输出如下:那么,这些信息主要是什么意思呢?待我一一道来。Proto协议的类型,主要有tcp、tcp6、udp、unix、udplite、raw、sctp等,当然可以通过传相应的协议类型给netstat命令而仅仅显示某种类型的协议,如:

2022-03-01 14:25:08 9343 3

原创 Enter passphase for key, 避免频繁的输入被密码保护的ssh key

启动agent eval `ssh-agent -s`添加id_rsassh-add ~/.ssh/id_rsa输入密码,在不重启电脑之前,可以不用频繁的输入密码了。

2022-02-23 14:11:43 3960

原创 systemctl systemd.service

Namesystemd.service — Service unit configurationSynopsisservice.serviceDescriptionA unit configuration file whose name ends in ".service" encodes information about a process controlled and supervised by systemd.This man page lists the configu

2021-12-15 12:29:48 573

原创 编写使用systemctl管理的service服务

上文介绍了systemctl命令是基于Systemd系统的,本文主要简单的介绍一下如何编写一个可以使用systemctl命令管理的后台进程(daemon进程),使用systemctl命令管理进程(服务)主要有以下好处:1、可以方便的查看进程的状态2、可以方便的启动、停止、重启、reload进程3、可以方便的配置进程是否随系统启动而启动,并且可以配置复杂的依赖关系(如:在某个服务启动后启动)4、可以方便的指定以某个用户的身份启动等等。service文件一般分为三个部分:Unit用来定义 Uni

2021-12-14 23:16:18 2754

原创 Systemd and sysemctl

系统结构Systemd 的设计目标是为系统的启动和管理提供一套完整的解决方案,具体的结构如上图所示。Systtemd不是一个命令,而是一组命令,这组命令涉及系统管理的多个方面。Systemd的相关命令systemctl#查看版本$ sudo systemctl --version# 重启系统$ sudo systemctl reboot# 关闭系统,切断电源$ sudo systemctl poweroff# CPU停止工作$ sudo systemctl halt# 暂停

2021-12-14 21:03:13 1884

原创 实战探究!C++ 20 标准都发布了哪些重要特性?

目前gcc 10.2可以支持部分C++20标准,编译的时候需要使用编译选项:-std=c++2a待我升级编译器之后分章节详解主要特性的概念、示例。敬请各位关注,干货马上到来Constraints and concepts (约束和概念)在类模板和函数模板编程中,主要用于对模板参数的结束和限制,这种约束和限制发生在编译期,编译错误不在那么晦涩难懂了。在模板编程中,可以限制模板参数的类型或具用某种特性,如:可以限制为整型、数值型、bool型、或必须支持hash特性、或某个类的派生类型等。在C++2

2020-12-23 09:28:13 9972 32

原创 常见的拖垮中小公司技术团队的10宗罪

某人曾说过,“What does not kill me,makes me stronger.”根据周围公司的情况,总结了拖垮中小公司技术团队的主要因素,当然,你也可以使用下面的手段,把你现在的公司拖垮(与本人无关),正所谓术高莫用,年轻人,耗子尾汁:1、外行管内行大部分公司,老板本身不懂技术,有些老板略懂业务,更多的老板是更懂市场,老板找一个会包装自己但没有做过开发的人来管理技术团队,那位说老板不傻,只能说在他懂的范围内不傻,在他不懂的范围内很多老板看不透彻,让一个没有写过一天代码的人管团队会出现什

2020-12-16 18:13:44 13279 43

原创 tmux常用命令及快捷键

tmux常用命令及快捷键最大化 Ctrl+b(我改成了Ctrl+a) 激活控制台;此时以下按键生效 系统操作 ? 列出所有快捷键;按q返回 d 脱离当前会话;这样可以暂时返回Shell界面,输入tmux attach能够重新进入之前的会话 D 选择要脱离的会话;在同时开启了多个会话时使用 Ctrl+z 挂起当前会话 r 强制重绘未脱离的会话 s .

2020-11-19 10:20:05 3185

原创 手把手教你配置linux下C++开发工具——vim+ycm(YouCompleteMe),支持基于语义的自动补全和第三方库补全(史上最简单、史上最透彻、史上最全的终极解决方案)

截止到目前,vim稳定版本已经到了8.2+,ycm(YouCompleteMe的简称)最新版本与几年前的安装配置截然不同了。之前网上很多教程也教不得法,生搬硬套,没有讲透彻。所以,才下定决心写一篇自认为史上最简单、史上最全的教程出来。一、准备工作 1、安装python(ycm需要使用python3.6以上的版本,这里选择python3.8.5): 1.1、进入download目录:cd download 1....

2020-10-23 12:57:01 13826 31

原创 没有core文件时定位segfault at 0 ip 的问题(一)

C/C++编写的程序,崩溃后有时不能生成core文件(即使设置了ulimited),所以往往不知道发生了什么事情,生产环境根本不允许研发小朋友去调试,日志有时候看不出问题了。(如果生成了core文件,或通过日志能定位到问题所以,则可略过此文章)。本文章专门针对于没有生成core文件、不能通过日志分析问题的情况首先,写一段测试代码吧,不用怀疑,这段代码肯定是有问题的#include <iostream>#include <cstdio>#include <mem

2020-07-28 18:18:51 4677 1

原创 从U盘安装centos7(史上最简单的终极解决方案)

1、下载最新版本的centos(目前是centos 7.6) https://www.centos.org/download/ 由于我是安装服务器,所以选择了Minimal ISO(只有900多MB)2、制作Centos安装盘(准备一个空白的1GB以上的U盘) 2.1.安装UltraISO 2.2.安装完成后点...

2019-03-10 17:48:46 223866 167

原创 Python3 list 排序函数详解

Python3 list 排序函数详解一、列表的sort排序函数函数原型: list.sort(key=None,reverse=False)函数功能:对原列表进行排序,完成排序后,原列表变为有序列表。默认情况(不传入任何参数时)按字典顺序排序。函数参数:(1)key: 主要是用来进行比较的元素,只有一个参数,具体的函数的...

2018-05-28 18:55:03 40522 7

原创 Order evaluation Rules in C++17

【代码】Order evaluation Rules in C++17。

2024-09-19 09:45:00 531

原创 The concept of the Sequenced before, also including the 20 important rules

This is。

2024-09-19 09:00:00 1327

原创 The concept of the Sequence point

sequencing。

2024-09-18 09:45:00 775

原创 The concept of the Happened-before

【代码】The concept of the Happened-before。

2024-09-18 09:00:00 558

原创 A Walkthrough Using Acquire and Release Fences

We’ll take the example from my previous post and modify it to use C++11’s standalone acquire and release fences. Here’s the SendTestMessage function. .Here’s the function. . .Now, if happens to see the write which performed on , then . Again, strictly

2024-09-12 09:00:00 1817

原创 specify which reordering operations are permitted and which are not

【代码】specify which reordering operations are permitted and which are not with std::atomic_thread_fence。

2024-09-11 10:00:00 808

原创 produce and consumer based on the std::thread_fence

【代码】produce and consumer based on the std::thread_fence。

2024-09-11 09:00:00 322

原创 To explain the std::atomic_thread_fence and some demos

【代码】another std::atomic_thread_fence demo。

2024-09-10 09:30:00 234

原创 std::atomic_thread_fence description and a simple demo

【代码】std::atomic_thread_fence description and a simple demo。

2024-09-10 08:30:00 558

原创 several solutions of producer and consumer

【代码】several solutions of producer and consumer。

2024-09-09 09:00:00 519

原创 producer and consumer based on the std::atomic_flag

【代码】producer and consumer based on the std::atomic_flag。

2024-09-09 08:30:00 234

原创 producer and consumer based on the std::atomic

【代码】producer and consumer based on the std::atomic。

2024-09-08 07:00:00 338

原创 counter based on std::atomic

【代码】counter based on std::atomic。

2024-09-08 06:00:00 176

原创 深入理解CMake

深入理解cmake

2024-08-13 10:48:46 829 1

原创 通过设置gcc的flags来捕获异常

然后,就可以不使用gdb来调试即可打印堆栈等详细信息了。即可实现运行程序时捕获异常的目的。

2024-07-18 16:55:16 132

原创 linux平台方便的获取当前进程名字的几种方法

vim /proc/pid/status #可以获取name。在main函数中使用变量。在main函数中调用。

2024-07-18 10:20:54 416

原创 编译器对C++23的支持程度

详见这里

2024-07-02 14:59:05 340

原创 C++23特性一览

【代码】C++23特性一览。

2024-07-02 14:53:14 1126 2

原创 关闭kylin(麒麟)系统的安全认证(烦人的安全认证)

重启成功后,就关闭了安全认证了~~~~~。增加12行,把13行注释掉。

2024-06-15 12:01:34 1472

原创 手把手教你在多个gitlab库之间同步代码(镜像)

gitlab已经非常强大了,不仅可以导入gitlab自身的代码库,还可以导入外部的代码库,如:GitHub、Gitea、Repository by URL等那么,当有多个代码库的时候(比如:一个是主库,用于读写,另一个用于备份),如何做到在多个代码库之间同步代码呢?其实gitlab已经提供了同步代码的功能,无须借助外部工具即可实现代码在多个库之间的同步~~~

2024-06-13 11:38:03 1046

原创 cpp.snippet for vim-snippet plugin

【代码】cpp.snippet for vim-snippet plugin。

2024-06-04 13:52:19 134

原创 Linux用户和用户组的操作

用户,用户组

2024-06-04 13:41:10 423

原创 cmake通过PkgConfig查找没有提供cmake的库,并在cmakelists.txt中进行依赖(如:ffmpeg等)

【代码】cmake通过PkgConfig查找没有提供cmake的库,并在cmakelists.txt中进行依赖(如:ffmpeg等)

2024-06-02 22:14:58 156

原创 chmod修改文件权限

【代码】chmod修改文件权限。

2024-05-20 16:13:12 236

原创 how to install gcc13 on ubuntu?

upgrade gcc13 on ubuntu

2024-04-18 08:33:38 261

原创 how to install MongoDB on Ubuntu

mongodb

2024-04-09 14:52:13 129

原创 socat创建虚拟串口示例

socatpty2的串口,并向pty2发送数据,从pty1读取数据了,从而达到了模拟串口通讯的目的。此时就可以使用串口的API打开名为。可以看到在home目录下会生成。此时在终端1上就会显示。/socatpty1和。

2024-01-20 07:00:00 897

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关注的人

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