自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

陈先森's blog

个人博客网站:https://chen__sheng.gitee.io

  • 博客(23)
  • 收藏
  • 关注

原创 C和C++的编码实践总结(Coding Practices using C and C++)

C语言编码相关实践文章目录C语言编码相关实践一、C/C++安全性编码和其他方面编码的规范和建议1、什么是安全性编码?2、是否需要它?3、 安全编码实践的规则和建议Rules and Recommendations1)Preprocessor(预处理器)2)Declarations and Initialization(声明和初始化)2)Expressions(表达式)3)Integers(整数)4)Floating Point(浮点数)5)Array(数组)6)Characters and Strings

2020-12-15 16:39:40 4566

原创 Python3环境搭建过程中的一些坑

为什么这样那样的环境搭建过程中总会有错误?(对初学者一点都不友好)原因:有时候真不是我们的操作错误,而是官方的文件写错了。。。使用的源码URL: https://www.python.org/downloads/source/版本:Python-3.6.13.tgz今天我在Linux环境上,用源码搭建Python3环境的时候,出现了以下问题:错误一:没有zlib库参与编译解决方法:从zlib源码编译安装zlib程序库。 cd到错误二:Makefile文件里的编译路径写错了解决

2021-02-22 14:12:38 230

原创 Python使用file.write写入文件后发现有^@或其他^T^M`A之类的符号,是怎么回事?

如何消除写入文件后的^@符号背景:最近在做一些使用python解析二进制文件,并转换为csv文件的时候发现的这个问题。原因:因为在python中内存结束符’\0’, 就是文本文件中的^@方法一:截取固定长度的str if type(bytes_data) == bytes: fp_w.write(str(bytes_data, encoding='utf-8')[0:9])方法二:使用string.strip(’\0’) if type(bytes_data) == bytes: fp

2021-02-04 14:15:27 1683 3

原创 git如何拉取本地没有的远程分支

git如何拉取本地没有的远程分支? git fetch : 默认拉取所有的,远程有的分支,而本地仓库没有的分支。

2021-01-26 09:43:57 2326

原创 git合并冲突后如何取消冲突

git如何取消当前合并时的冲突其他分支merge到当前分支,发生了冲突,但是这个时候,又想切换分支的时候,就会出现问题。解决方案:- git merge --abort #丢弃当前合并

2021-01-25 16:56:24 1128

原创 Linux下常用的压缩与解压工具

Linux归档工具(压缩与解压缩)gzip algorithm:(gzip工具)- compress: tar -czf xxx.tar.gz [a.dat b.dat c.dat](压缩) -c: --create建立新的存档 -f: --flie指定存档或设备 -j: 是过滤bzip2文件 -z: 是过滤gzip文件- uncompress: tar -xvzf libunwind-1.1.tar.gz 或者 tar -xf ABC.tar.gz(解压缩)

2021-01-25 10:14:08 566

原创 如何打开GDB的不同源码模式/界面

GDB不同模式:打开字符GUI界面:ctrl + x 和 ctrl + a 或者是 layout src , 切换回去也是ctrl + x +a打开此函数的汇编界面:layout asm两个都打开:layout split打开寄存器窗口:layout regs

2021-01-15 18:30:59 606

原创 如何使用GDB调试有参数的程序

GDB调试有参数的程序进入gdb后:file ./bin/kepler_tunnel:加载二进制程序set args config/pbt.xml 200:设置程序参数 config/pbt.xml和200b main:打断点r :运行键入:ctrl+X和ctrl+A,进入GUI程序字符界面。...

2021-01-15 18:19:23 597

原创 给GDB增加调试信息,即添加GCC调试参数

GCC调试参数gcc参数有:-g,-g3,-ggdb,-ggdb3编译加上-g的时候,程序会是处理debug的状态,运行时候会记录更多的debug信息,从而占用内存更大的空间。g,产生的debug信息是OS产生的,GDB可以合理封装使用。g3,只是一个调试级别,级别越高产生的额外debug信息会越多,但是内存占用率会越大,3这个级别可以调试宏。ggdb产生的debug信息更倾向于给GDB使用的。...

2021-01-15 18:15:48 1739

原创 让挂在后台的GDB程序继续运行

不小心ctrl+z退出程序了,如何让gdb进程继续运行键入:ctrl+z (其实是把进程挂到后台,暂停运行而已,并不是ctrl+c发送SIGINT中断信号,让进程退出。)键入:jobs (查看挂在后台的作业有哪些)fg %1:把作业ID为1的进程放到前台运行,即在命令行终端运行。bg %2:把作业ID为2的停止进程放到后台继续运行,即成为守护进程deamon。...

2021-01-15 18:13:01 1788

原创 Vim中如何替换字符串

替换字符串全局,替换字符串:命令模式 :% s/old/new/gold,new不需要双引号,g表示全局,如果没有g就是每一行的第一个会被改变例子: % s/test_shm_tool.c/$(SOURCE)/g局部,替换字符串:: n1, n2 s/old_str/new_str/g,需要每一行都确认就加上c...

2021-01-14 18:27:45 1166

原创 Vim中如何把字母变成大小写?

Vim中把一连串的字母变成大小写看下面的例子例如: 123abca12890weiqostep1: 进入v或ctrl+v,进入view mode(可视模式) ,选择“123abca12890weiqo”step2: shift + u,变成大写step3: 本来是大写的,按u,即变成小写...

2021-01-08 16:37:47 1568

原创 Vim中如何查看Linux/Unix man page?

Access Unix Man page for Functions from Vimpress K: 找到你想查询的系统调用API上。2K,3K,{N}K:2表示系统调用页,也就是Linux man page的第二类型手册,3表示函数库,依次类推。

2021-01-05 10:26:48 397

原创 Vim如何撤销和回退

vim中的撤销与回退u,撤销ctrl + R,回退(rollback,回滚、回退)

2020-12-30 19:08:22 5994

原创 Vim搜索以及取消搜索后的高亮

vim搜索以及取消高亮搜索字符串:/abc (不需要输入双引号)按N选择下一个shift + N ,选择上一个搜索后打开别的文件,也发现被高亮了,此时可以取消高亮命令模式:set nohlsearchno,即关闭,不要hl,即high light,高亮的意思search,即搜索...

2020-12-29 11:09:26 1080

原创 Vim按了Ctrl+S,卡死了怎么办?

在Vim中按了Ctrl+S,卡死、停止了怎么办?在Linux下,Ctrl+S是让屏幕暂停输入(但是键盘输入还是可以用的),而不是vim卡死了,在Linux终端上按下Ctrl + S也会让屏幕暂停输入,并不是vim的问题。解决办法:解锁屏幕,使用Ctrl + Q...

2020-12-29 11:07:07 3246

原创 GDB为什么查看不了源码?

GDB为什么查看不了源码?说No symbol “xxx” in current context?可能有以下原因:原因一:可能GCC版本跟GDB版本相差太大,以至于GCC产生的DWARF4格式的debug文件,GDB无法解析.解决方法:查看GCC和GDB版本号:- gcc --version- gdb --version- 兼容版本号:GCC = 4.8.x, GDB = 7.6.x,可以让GDB查看到GCC生成的相应的dwarf格式的文件。原因二:GCC编译的时候并没有加上"-

2020-12-25 13:45:47 1067

原创 Vim中如何切换窗口?

Vim中切换窗口(在文件之间切换)切换窗口:Ctrl + w + (h/j/k/l) 。即h左、j下、k上、l右,表示窗口切换的方向。

2020-12-23 10:53:44 3179

原创 Vim中如何打开多文件?

Vim中打开多文件,每个文件一个窗口已经使用vim打开一个文件的情况下:命令行模式:sp hello.c ,在文件下方打开一个新的文件(水平打开,双窗口)命令行模式:vsplit hello.c,在文件的右边打开一个新的文件(垂直打开,双窗口)...

2020-12-23 10:50:52 909

原创 在Linux下和Windows下,如何正确输出size_t,且能跨平台兼容处理?

如何输出size_t没有Warning警告?在Linux下输出size_t使用"%llu",如:printf(“llu”, sizeof(int));在Windwos的Devc++下使用TDM-GCC 4.9.2 64-bit Release(其实就是MINGW)输出size_t,使用"%I64u",如:printf(“I64u”, sizeof(int));如何编写跨平台兼容性处理代码?主要是通过不同OS平台下的Compiler编译器中的已有的宏进行判断的,如下代码所示:/* =======

2020-12-21 13:16:53 1091

原创 vim中如何格式化代码

vim代码格式化- step1: 先设置全局的缩进 | set shiftwitdh = 4 - step2: 进入可视化选择模式 | 按v - step3: 选择你想格式化代码的部分 | 按下 =

2020-12-18 18:55:45 827 1

原创 Vim中出现^M是怎么回事?

文档中为什么会出现^M?原因:在Windows/Dos系统下编辑文字,win/Dos系统会在每一行后面插入一个换行符,即"^M",十六进制:0x0D0A,与Linux下的换行符十六进制是不一样的,Linux/Unix下是0A(ASCII码),具体也取决于编译器。^M,在vim中是特殊控制符,查找和修改无效。解决方案:把\r\n中的\r去掉即可方法一,命令行模式下:% s/\r//g方法二:,命令行模式下% s/ctrl+v,然后再ctrl+m//g/* 编译器信息:De

2020-12-16 18:55:08 9583

原创 使用git push推送到远程仓库发生Authentication failed错误

使用git push推送到远程仓库发生Authentication failed错误文章目录使用git push推送到远程仓库发生Authentication failed错误问题描述:remote: chen_sheng: Incorrect username or password (access token)fatal: Authentication failed for 'https://gitee.com/chen__sheng/about_company_note.git/'

2020-12-15 17:06:44 4387

空空如也

空空如也

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

TA关注的人

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