- 博客(73)
- 资源 (40)
- 收藏
- 关注
原创 linux vim(nvim)c++代码格式化工具clang-format
如果用Plug管理vim插件,直接在.vimrc中添加一行。运行:PlugInstall就可以自动安装插件。安装vim-clang-format插件。
2022-08-03 17:35:09
2668
原创 linux 命令行提示符(显示ip)
配置更合理的命令行提示符ip=`ifconfig | grep "inet" | grep broad |grep -v "192.168" | awk '{split($2,fs,".");print fs[3]"."fs[4]}'`function git_branch { branch="`git branch 2>/dev/null | grep "^\*" | sed -e "s/^\*\ //"`" if [ "${branch}" != "" ];then if [
2021-12-10 09:15:37
800
原创 linux非root用户安装tmux
tmux是什么tmux是一个 terminal multiplexer(终端复用器),它可以启动一系列终端会话。简单来说,安装tmux之前,一旦与服务器断开连接或者关闭xhell或其他shell终端,我们的服务器上运行的程序就会终止,而且输入的历史消息全部消失。因此如果我们希望整晚在服务器上跑代码,我们的电脑也要整晚一直连接着服务器。而安装了tmux之后,即使我们关闭了shell终端或者不幸与服务器断开连接,我们在服务器上的程序依然在运行。安装root用户安装仅需一行sodu apt-get
2021-05-20 20:47:19
1716
2
原创 Linux 终端显示 Git 当前所在分支
一、前置预备知识PS1终端设置指定提示符PS1是Linux终端用户的一个环境变量,用来定义命令行提示符的参数。 在~/.bashrc中修改PS1的环境变量可以修改主机提示符 常规设置参数PS1是主提示符变量,也是默认提示符变量。默认值[\u@\h \W]\$,显示用户主机名称工作目录。基本上通过设置PS1来定义命令行提示字符即可,最常用的需求就是显示登录的用户名、主目录、主机名等等。$export PS1='[\u@\h \W]\$ \n\$'[yupei.syp@...
2020-12-18 09:51:07
2826
原创 编译安装clang+llvm
本文主要介绍如何编译安装clang+llvm。一、预编译二进制文件可以先到 https://github.com/llvm/llvm-project/releases 查看是否有适合你系统的。clang+llvm 开头的压缩包就是预编译的二进制文件,如果有合适的直接下载安装即可,下文可以忽略。二、下载源码虽然可以通过Git下载到最新代码,但是不一定能编译通过,又或者可能有bug。建议还...
2020-03-15 12:55:31
3320
原创 linux 编译安装GCC 7.2.0
服务器默认安装的GCC版本一般都比较低,而一些开源库已经开始依赖高版本GCC才有的特性。因此我们需要编译安装新版本的GCC,本文以7.2.0为例进行说明。一、下载源码GCC源码可以在 官网 ,也可以在附近的镜像源下载,下载更快我这边就在 清华镜像源 下载了。依赖包依赖包根据编译机器的外网连通情况采用手动下载或者自动下载。自动下载如果可以访问外网,那么可以直接通过GCC源码包中内...
2020-03-15 12:48:26
2536
原创 linux编译安装ccls(nvim vim支持c++)
本文主要介绍如何编译、安装 ccls 。ccls是符合微软 LSP标准 的C/C++ language server。ccls能够提供更好的跳转定义/引用、代码补全、符号搜索和重命名等功能,我们赶紧安装ccls来体验吧!一、下载代码git clone --depth=1 --recursive https://github.com/MaskRay/ccls二、安装依赖cmake...
2020-03-15 12:47:57
6820
1
原创 Linux expect 账户目录下的安装与使用
Linux expect的安装与使用Expect是在Tcl的基础上创建的,可以用来做一些Linux下无法做到交互的命令操作,可用于远程管理服务器。一、安装Tcl:1.下载源码包:wget http://nchc.dl.sourceforge.net/sourceforge/tcl/tcl8.4.11-src.tar.gz2.解压缩源码包:tar xfvz tcl8.4.11-src.t...
2020-02-19 08:45:40
287
原创 gperftool 检测内存泄漏
实战1、程序编译带tcmolloc2、启动程序env HEAPPROFILE="/tmp/perf/test_server.perf" HEAP_PROFILE_ALLOCATION_INTERVAL=102400000 HEAPCHECK=strict test_serverHEAP_PROFILE_ALLOCATION_INTERVAL累计分配内存多少以后进行dump perf文件...
2019-11-28 15:37:19
1286
原创 没有系统root权限 vim安装YouCompleteMe插件(ycm不依赖系统)
编译vim,YCM要求vim版本大于7.4.1579,所以需要先编译vimList itemList item1. 编译vim,YCM要求vim版本大于7.4.1579,所以需要先编译vim安装虚拟机装上centos7下载vim对应版本的源码,https://github.com/vim/vim,我下载的是7.4.1580(https://github.com/vim/vim/ar...
2019-11-22 09:11:49
852
原创 shell中各种括号的作用详解()、(())、[]、[[]]、{}(推荐)
一、小括号,圆括号()1、单小括号 ()①命令组。括号中的命令将会新开一个子shell顺序执行,所以括号中的变量不能够被脚本余下的部分使用。括号中多个命令之间用分号隔开,最后一个命令可以没有分号,各命令和括号之间不必有空格。②命令替换。等同于cmd,shell扫描一遍命令行,发现了(cmd)结构,便将(cmd)结构,便将(cmd)结构,便将(cmd)中的cmd执行一次,得到其标准输出,再将此...
2019-09-24 17:56:54
1069
原创 性能测试工具CPU profiler(gperftools)的使用心得
按照 http://www.cnblogs.com/persistentsnail/p/3294843.html,yum安装gperftools-devel 和 libunwind安装gperftools-devel的时候,同时就安装了 gperftools。如何使用,主要参考了 https://wiki.geany.org/howtos/profiling/gperftools,才入的门,回头...
2019-09-09 16:34:08
1056
原创 tensorflow serving加载模型错误 No versions of servable test found under base path
错误信息W tensorflow_serving/sources/storage_path/file_system_storage_path_source.cc:268] No versions of servable test found under base path
2019-01-16 08:59:13
4381
原创 tensorflow c++进行在线预估卡死hang住
h5. tensorflow 离线训练导出格式Tensorflow 离线训练的结果可以使用某种格式导出,如 SessionBundle、SavedModel、FreezedGraph,本次在使用SavedModel方式保持模型,进行...
2019-01-16 08:31:13
2090
转载 内存问题的排查工具和方法– Clang的AddressSanitizer
1 概述Valgrind可以有效地监测处大多数内存问题,你肯定忍不住会想,既然c/c++的内存问题这么常见,为什么不在编译器中加入内存问题检测的功能呢? 很可惜,GCC中还目前还不支持内存检测,可喜的是,clang支持。这里我们看看如何用clang发现内存问题2&am
2018-10-09 09:52:58
540
转载 Linux中的常用内存问题检测工具
版权声明:本文为博主原创文章,只要标明出处即可转载。 https://blog.youkuaiyun.com/ariesjzj/article/details/46659155 原文地址:http://blog.youkuaiyun.com/jinzhuojun/article/detai...
2018-10-09 09:49:21
843
原创 Linux中的常用内存问题检测工具
<div id="article_content" class="article_content clearfix csdn-tracking-statistics" data-pid="blog" data-mod="popu_307" data-dsm="post"> <div class="article-copyright"
2018-10-09 09:39:49
536
原创 分布式系统随笔
总结 分布式的目标是实现Scale out–>解决思路就是分片和复制–>分片和复制引入了一致性的问题–>一致性的解决存在理论极限的(FLP&CAP)–>为了解决一致性,存在大量的一致性协议和算法。 1. 当数据达到一定规模以后,分片是唯一的选择 1.1 提升性能和并发,操作被分配到不同的节点,相互独立 1.2 提升系统的可用性,即使部分分片不可用,别的分片不...
2018-08-13 10:29:30
153
转载 wide & Deep 和 Deep & Cross 及tensorflow实现
前言 最近读了下Google的两篇文章《Wide&Deep Learning》和《Deep&Cross Network》,趁着热乎比较下,顺道写个demo,免得后面用的时候瞎搞。 前者是用来给用户推荐潜在喜欢的APP;后者是用来预测用户可能点击的广告排序。基于用户基本信息和行为日志来做个性化的推荐,是商业化的重要一步,做得好,用户使...
2018-08-01 14:43:11
342
原创 欢迎使用优快云-markdown编辑器
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
2017-07-11 09:39:05
274
转载 Linux 的多线程编程的高效开发经验
背景Linux 平台上的多线程程序开发相对应其他平台(比如 Windows)的多线程 API 有一些细微和隐晦的差别。不注意这些 Linux 上的一些开发陷阱,常常会导致程序问题不穷,死锁不断。本文中我们从 5 个方面总结出 Linux 多线程编程上的问题,并分别引出相关改善的开发经验,用以避免这些的陷阱。我们希望这些经验可以帮助读者们能更好更快的熟悉 Linux 平台的多线程编程。
2015-06-01 08:40:07
513
原创 redhad6.0升级glibc
0.以下在系统redhat6.0 x86_64上操作1.试图运行程序,提示"libc.so.6: version `GLIBC_2.14' not found",原因是系统的glibc版本太低,软件编译时使用了较高版本的glibc引起的:2.查看系统glibc支持的版本:[ghui@StuOS bin]$ strings /lib64/libc.so.6 |grep GLIBC_GL
2015-04-09 09:36:17
1119
转载 中国大陆开源镜像站汇总
各大开源软件、发行版镜像页面。请注意这是一个总结,如果您自己搭建了一个小型开源镜像,这里并没有。以下列出的是包含大量不同镜像的站点。具体配置中,我建议您使用大企业的镜像。大学的镜像有的只是内部使用,而且未必速度快的像您所期待的那样。同时,我建议您使用某些加速插件,比如RHEL系列的yum-plugin-fastestmirror,apt-fast,axel,netselect-apt,ap
2015-04-02 09:26:00
703
原创 MarkDown语法概述
MarkDown简介1. 传统文档排版缺陷1.1 统一习惯传统文档编辑器(邮件、博客、word文档)关于排版都有自己特有的方式各不相同。如果采用MarkDown的方式来编写,以后我们只需要记住一种编写排版规则就可以完成所有基本的文档编写工作。1.2 修改方便传统文档修改起来比较麻烦,修改一处有可能影响整个文档的排版,而MarkDown采用排版和内容分离的方式,编写内容者之需要关注文档内容,不需要关注
2015-03-23 11:08:45
680
原创 VIM 安装配置目录树或文件浏览插件-NERD tree
1、下载插件下载路径:https://github.com/scrooloose/nerdtree 这个是NERD tree的官网地址。可以点击https://github.com/scrooloose/nerdtree/archive/master.zip 该链接直接下载。2、安装配置首先将下载的压缩包进行解压。 windows可以直接解压。linux 使用命令 tar xzvf NE
2015-03-23 09:36:15
7602
转载 MySQL性能优化的21个最佳实践
今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情。当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。这里,我们不会讲过多的SQL语句的优化,而只是针对MySQL这一Web应用最多的数据库。希望下面的这些优化技巧对你有用。
2015-03-18 16:07:29
409
原创 排序算法(一)-希尔排序
一、排序方法分类:排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。二、希尔排序希尔排序数序插入排序的一种,插入排序有两类:1、直接诶插入排序。2、希尔排序。今天我们简单介绍下希尔排序。希尔排序的实质就是分组插入排序,该方法又称缩小增量排序,因DL.Shell于1959年提出而得名。、
2015-03-04 14:48:37
518
原创 字符串处理整理
CString WideCharToANSIChar(const CStringW& wideString){ CString ansiString = ""; LPSTR tmpStr = NULL; int charNeeded = WideCharToMultiByte(CP_ACP, 0, wideString, -1, 0, NULL, NULL, 0);
2015-03-04 09:56:53
483
原创 c++实现svn提交日志校验
关于svn日志提交的简介请参考 点击打开链接下面直接上代码,如下:#define _CRT_SECURE_NO_WARNINGS#include #include #include #include #include #include #define BUFF_SIZE 2048const char* commitfmtlogs = "\请按照如下格
2015-03-02 15:57:49
937
转载 SVN的钩子--限制强制写日志(log)
SVN本身并不提供这种强制写log的功能,而是通过一系列的钩子程序(我们称为hook脚本),在提交之前(pre-commit),提交过程中(start-commit),提交之后(post-commit),调用预定的钩子程序来完成一些附加的功能。本次我们要实现的是在提交到版本库之前检查用户是否已经写了注释,当然要使用pre-commit这个钩子程序。我们打开SVN的repository下的h
2015-03-02 09:17:35
1629
转载 findstr 命令详解
和Linux相比,对于命令行操作,Windows总是觉得有点力不从心。比如,有的时候我们想查找某些进程占用了哪些网络端口,有一些指定的网络端口又被哪些应用给占用,总是稍显有点麻烦,往往需要从一大串数据行中去目测,找出自己关心的一些信息。如果我们要从一大段数据行中,或者一大段文本中去找出我们所关心的一些数据行,Linux下grep可以很轻松地搞定这个任务,但在windows下恐怕就没有那么容易了。当
2015-03-02 08:37:27
2720
原创 排序算法总结
冒泡排序#include void printfArray(int arr[], int n){ for (int i = 0; i < n; ++i) { std::cout << arr[i] << " "; } std::cout << std::endl;}//插入排序(冒泡排序)void insertSort(int ar
2015-02-26 16:31:45
434
转载 安全删除FAT磁盘数据文件
很多时候,为了保护商业秘密,一些文件仅仅许可出现一次,就必须删除。但是Windows的删除是不完善的,可以通过回收站找回,即使Windows的彻底删除,也不是彻底删除。也可以通过数据恢复软件找回,我们如何实现彻底删除,用二进制数据填充磁盘,来彻底清除相关数据呢我们来亲身实践360自带的功能。详细类源码如下,请见源码分析,安全删除FAT的类 #include "stdafx.
2015-02-12 13:41:54
881
转载 安全删除NTFS磁盘数据文件
很多时候,为了保护商业秘密,一些文件仅仅许可出现一次,就必须删除。但是Windows的删除是不完善的,可以通过回收站找回,即使Windows的彻底删除,也不是彻底删除。也可以通过数据恢复软件找回,我们如何实现彻底删除,用二进制数据填充磁盘,来彻底清除相关数据呢我们来亲身实践360自带的功能。详细类源码如下,请见源码分析,安全删除NTFS #include "stdafx.h
2015-02-12 13:39:27
1969
1
原创 Memcpy越界操作导致free崩溃分析
问题现象在使用一个开源播放器的时候,每次在音频即将播放完毕的时候,会崩溃,经过排查分析发现是由于memcpy拷贝越界问题。然后编写示例代码确实会出现类型现象,示例代码如下: 1#include "stdafx.h" 2#include 3#include 4#include 5 6int _tmain(int argc, _TCHAR* argv[]) 7{ 8 9
2015-01-13 10:41:17
5614
3
原创 'IContextMenu' : no GUID has been associated with this object
[问题描述]用VS2008编译windows shell时,成功;相同的方法在VS2005和vs2003下,提示错误:error C2787: 'IContextMenu' : no GUID has been associated with this objecterror C2440: 'initializing' : cannot convert from 'DW
2014-12-24 15:51:05
967
原创 创建快捷方式
#include #include #include #include #pragma comment(lib, "Shlwapi.lib")void createShutcut(char* szExe, char* szLink){ ::CoInitialize(NULL); HRESULT hr = S_OK; IShellLink * pShl =
2014-12-15 15:49:53
615
原创 LC-Display
#include void printfLed(int numSize, char num[]){ //将数字从上到下分成五个部分 char p1[10] = { '-', ' ', '-', '-', ' ', '-', '-', '-', '-', '-' }; char p21[10] = { '|', ' ', ' ', ' ', '|', '|', '|
2014-10-27 13:59:51
720
存贮层次模拟器 (cache-主存,辅存-主存)
2010-05-30
使用 telnet 如何连接到另一个计算机
2010-05-17
使用 telnet 如何连接到另一个计算机1
2010-05-17
vsniffer-setup 网络数据报截获
2010-05-13
notepad++自带带目录树
2018-11-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人