自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 收藏
  • 关注

原创 时刻保持学习状态

内存池就是在真正使用内存前,先申请分配一定数量的,大小相等的内存块作为备用,当有内存的需求时就从内存池取,不够就申请新的内存。只要weak对象还存在,就可以知道share资源还在不在,通过控制块观察对象还在不在。weak是share的观察者,要用weak正在观察的资源,就可以提升为share。weak_ptr:共享资源的观察者,和share_ptr一起使用,不影响资源的生命周期。维护的信息有两部分:指向共享资源的指针,指针控制信息的指针。s代码大小的优化,基本不用关心,优化会打乱程序的结构。

2024-02-21 17:08:55 457

原创 stat() 之权限查看

查看文件的权限方式struct stat *file_info = calloc(1,sizeof(struct stat)); stat(dir,file_info); unsigned int mask = 0000777; unsigned int access = mask & file_info->st_mode; printf("before chmod dir mode = %o, flowop mode = %o\n", access, fl...

2021-05-25 20:34:47 313

原创 implicit declaration of function 警告解决方法 (函数的隐式说明)

函数没有在头文件(.h)定义,这就导致编译的时候没法正确生成.o文件

2021-05-12 17:26:59 5547

原创 MobaXterm使用教程

1 创建回话 session SSH remote host , specify username2 快速连接回话3 创建串口session对话框里选择serial,再选好串口号及波特率,点击OK就完成连接了。4菜单栏点击 「view」 --> 「show menu bar」,即可隐藏此排按钮5 右键粘贴「settings」 --> 「Configuration」,在弹出的对话框中选择 「terminal」,再将 「paste using right-click」 打...

2021-05-12 09:33:23 7695 1

原创 gdb调试之set args

GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。如果你是在 UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。同时GDB也具有例如ddd这样的图形化的调试端。一般来说,GDB主要完成下面四个方面的功能:(1)启动你的程序,可以按照你的自定义的要求随心所欲的运行程序。(2)可让被调试的程序在你所指定的调置的断点处停住。(断点可以是条件表达式)(3)当程序被停住时,可以检查此时你的程序中所发生的事。(4)动态的改变你程序的执行环境。...

2021-05-12 08:45:35 7443

转载 grep 参数详解

功能说明:查找文件里符合条件的字符串。语  法:grep[-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][--help][范本样式][文件或目录...]补充说明:grep指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设grep指令会把含有范本样式的那一列显示出来。若不指..

2021-05-06 20:58:40 2896

原创 GDB调试之core dump

linux下的c程序常常会因为内存访问错误等原因造成segment fault,此时如果系统core dump功能是打开的,那么将会有内存映像转储到硬盘上,之后可以用gdb对core文件进行分析,查看系统发生segment fault时刻的情况。Linux中生成 Core Dump 文件的方法1 什么是 Core DumpCore Dump 又叫核心转储。在程序运行过程中发生异常时,将其内存数据保存到文件中,这个过程叫做 Core Dump。2 Core Dump 的作用在.

2021-05-06 20:29:48 2265

转载 ls 的参数功能

-a, –all 列出目录下的所有文件,包括以 . 开头的隐含文件-A 同-a,但不列出“.”(表示当前目录)和“..”(表示当前目录的父目录)。-c 配合 -lt:根据 ctime 排序及显示 ctime (文件状态最后更改的时间)配合 -l:显示 ctime 但根据名称排序否则:根据 ctime 排序-C 每栏由上至下列出项目–color[=WHEN] 控制是否使用色彩分辨文件。WHEN 可以是’never’、’always’或’auto’其中之一-d, –directory 将目录象文件一.

2021-05-06 20:16:27 96

原创 git高级操作之分支管理

创建并切换分支git checkout -b dev 没有-b就是之切换分支 新版本为:git switch -c dev 切换为git switch git branch 查看分支 git branch dev 创建分支 git merge 合并分支 git branch -d dev 删除分支多人协作git remote 查看远程库信息 git remote -v 显示更详细的信息 git push origin dev 推送到dev分支功能分支有新功能要试验,...

2021-05-06 20:06:29 88

原创 docker常用命令

查看信息docker version docker info docker logs service docker status 故障检查 sudo service docke start | stop 启动关闭日志不同的系统在不同的位置 docker daemonjournalctl日志工具使用journalctl -n journalctl -f 详细信息 journalctl -b本次启动后的所有日志 journalctl --list-boots查看启动记录 jo.

2021-05-06 19:50:30 138

原创 linux 内核链表理解

刚开始接触数据结构,把基础的链表操作实践一遍:单向链表的(创建,插入,删除,遍历,查找,修改,清空,销毁,排序等)循环链表同样的相关操作,接下来是双向循环链表,到此对于链表应该有了一定的认识,所以开始了解内核链表了,目的是让你直接操作系统自带的链表函数。首先给自己定一个目标吧:1. 熟练使用内核链表的相关宏和函数,能够应用到以后的项目中2. 明白内核设计师们的意图,为什么这样设计链表的操作和提供那样的接口;3. 将内核链表移植到非GNU环境。可以自己构造链表,实际的工程中还是Linux内

2021-04-22 13:18:10 260

原创 linux C语言 头文件搜索路径

gcc寻找头文件的路径1. 通过参数I指定头文件路径2. 查找gcc的环境变量3. 内定目录搜索- /usr/include- /usr/local/include - /usr/lib/gcc-lib/<platform>/<version>/include

2021-04-22 13:16:40 150

原创 本地可以ping远程的服务器,但服务器不能ping本地

本地主机ping远程服务器的公网ip // ok远程服务器ping本地主机的~~ip // error 查询自己的公网ip :两个网址:https://ip138.com/ https://ifconfig.me/ 或者curl ifconfig.me

2021-04-22 13:15:35 3475

原创 Coursera正确打开方式

修改hosts文件,直接就打开hosts(private/etc/hosts)添加一行 52.84.246.72 d3c33hcgiwev3.cloudfront.net

2021-04-22 13:12:14 198

原创 pragma pack() 详解

1.#pragma简述预处理指令,作用是设定编译器的状态或者指示编译器完成一些特定动作。 #pragma指令对每个编译器给出一种方法,保持与C和C++的完全兼容的情况下,给出主机和操作系统专有的特征。所以每个编译器都是不同的。2.#pragma pack作用主要作用就是改变编译器的内存对齐方式,在网络报文的处理有重要的作用。基本用法:#pragma pack(n) ,不使用这条指令,采取默认的字节对齐方式(#pragma pack(8)) n可以取(1, 2, 4, 8, 1...

2021-04-22 13:03:57 12796 1

原创 c++ 基础复习

- Isostream 标准输入头文件- 标准命名空间- 新增数据类型bool 可以++ 但是不能—- 数据类型wchar_t 宽字符2个字节- 命名空间的定义、使用(全路径方式、命名空间指示、命名空间声明)- 标准命名空间std(标准IO string 标准容器)cin cout cerr clog标准输出- 标准输出ostream cout- Ostream & operator << (const ostream &out, char ...

2021-04-22 13:02:40 103

原创 spf13-vim 的使用心得

自己自定义安装过很多vim 插件,用好vundle这个插件,可以很好的在线安装很多插件,也可以自定义快捷键,或者是用默认方式,最好用还是Youcompleteme ,自动补全,语义分析,安装包比较大,在线下载不稳定。所以偶然找到了一个比较全面的vim插件集合安装方式,github 到spf13文件包 ./install.sh 开启自动安装中途卡住可以退出来,不要继续用./install.sh继续安装,随便打开一个vim 使用:PluginInstall 让它继续下载插件,否则会从头再来,而且生成..

2021-04-22 13:01:40 396

原创 系统编程需要掌握的时间函数

time_t time(time_t *tloc)gmtime(const time_t *timep);localtime(const time_t *timep)asctime(const sturct tm* tm)ctime(const time_t *timep)mktime(struct tm *tm);

2021-04-22 12:59:56 69

原创 C++ 必备基础

初始化列表- 在类创建时调用- 初始化与声明的顺序有关,先声明先初始化- 静态成员必须使用初始化列表为其初始化拷贝构造函数- 通过使用同一个类型的对象来初始化新创建的对象- 复制对象把它作为参数传递给函数- 复制对象,从函数返回这个对象深拷贝- 构造函数- 拷贝构造函数- 为成员数据赋值函数- 析构函数预编译命令- #include- 预处理就是预编译- #开头,头文件、宏定义、条件编译Const 和#define- 编译处理方式...

2021-04-22 12:58:14 56

原创 C++ 面试题参考

稳定性:技术题:两个链表如何判断相交?- 判断第一个链表的每个节点是否在第二个链表中- 哈希:第一个链表的节点地址进行hash,建立长度为h1的哈希表,对第二个链表的节点进行hash,在哈希表里查询- 将两链表进行首尾相接,判断链表是否有环;判断完还要拆开- 两个链表的最后一个节点一定是相同的,遍历到最后进行比较。Static的作用?排序算法:选择、插入、快速、归并链表和数组的不同:- 内存连续性- 随机访问- 插入效率静态链表——用数组描述的的链表.

2021-04-22 12:56:54 76

原创 mac的vmware fusion 可以加载windows的vmware workstations

整了好多天的虚拟机xp系统,在window下安装xp问题不大,但是在Mac的fusion 上一直失败,不管下载的是什么xp镜像,都无法顺利安装。今天突然尝试用fusion的扫描功能,扫描别人安装好的xp系统包(windows workstation) 迅速成功,如果加载出现失败,把包里面的.lck文件夹删除果然 fusion和workstations的内容是通用的,毕竟是同一家公司的产品。下次,你想安装新的虚拟机,而自己一直安装不了的话,那就从别人那里拷贝一个过来就行,不要用导入功能,或者新建虚

2021-01-16 12:38:46 1118 2

原创 结构体初始化问题

结构体初始化一般有四种方法:typedef struct A{ int age; char name[128];}A_t;typedef struct B{ struct A a; char schoolName[40];}B_t;一、定义时初始化为所需值struct A a = {1, "yeoman"};二、定义时初始化为零struct A a = {0};struct B b = {0};A 对象初始化为0不会有警告,但是B

2021-01-03 14:40:30 2529 1

原创 学习C基础的时候,经常要看看头文件的内容,怎么找呢?

既然每次都是include 头文件,那就去include目录下去找,当然不一定能找到,所以先全面了解下,头文件的搜索路径吧!gcc寻找头文件的路径通过参数I指定头文件路径(目前看的少) 查找gcc的环境变量 内定目录搜索 /usr/include /usr/local/include /usr/lib/gcc-lib/<platform>/<version>/include (找个float.h 花了好长时间,原来在这里)...

2020-11-28 22:35:30 331

原创 本地主机与远程服务器ping问题

问题:本地主机远程连接服务器,可以ping通服务器ip,但是远程服务器却不能ping通本地主机?原因:不管谁ping谁,都只能ping公网ip,而通过ifconfig出来的一般都是内网,所以你当前的网络ip应该是局域网ip。查找公网ip 的方式 网内网址::https://ip138.com/](https://ip138.com/ https://ifconfig.me](https://ifconfig.me/ 或者 (mac)终端输入:curl ifconfig.me...

2020-11-28 22:25:31 3315

原创 今日感悟

Mac 外接硬盘装win10系统win10镜像,早上七八点下载的飞快,解压提取install.wim 备用 WTG (win环境下安装使用) bootcampMac里面就有,不需要去官方下载用虚拟机PD打开WTG辅助软件,选择install.wim ,选择新的硬盘,选择VHD 以及三个选项的最上面那个,就可以创建了 。顺利结束(可能会失败,它也提醒了用虚拟机做启动,不一定稳定)关机重启,按住option 选择EFI 启动,就OK,然后就是更新系统,激活系统,你所有感觉不爽的地方,更新结束就一切

2020-11-19 22:44:31 98

原创 嵌入式软件开发常用软件汇总(不定时更新...)mac 版

工具软件混合介绍iterm2必备终端,主题丰富,远程登录,透明浮窗vscode丰富的插件,支持git,远程登录sshXcode太过于齐全,备用软件,不适用平时练习sublime text浏览工具,插件丰富,让你少装几个软件,插件便是软件coderunner适用于平时练习,写算法,各种语言,激活链接: https://blog.csdn.net/lmb1612977696/article/details/93714660sourcetreegithub浏览,暂时用的不多,主要特效未知

2020-11-14 22:31:08 498

原创 云服务器心得

由于要做arm开发,本来想在mac上直接动手,奈何,实在麻烦,且要学习的库与主流不符。想着在服务器上看能不能尝试一下。思路:服务器上装windows系统,安装相应的软件手里有个华为云服务器,重置ubuntu系统,换成windowsmac安装微软的远程桌面控制软件华为云windows远程桌面链接,需要提前设置好远程共享接口3389,设置后也一直无法登陆,内部手动打开也不行,而且卡的一批,一开始我还以为其他服务器也是这样。直到我换了腾讯云腾讯云 整个控制台界面,比华为云看着舒服,找各种数据也方便,

2020-11-12 00:25:31 393

原创 华为云服务器配置过程

在控制台重置root密码 建立普通用户addusers 修改主机名——名字太长,与我不符,改!

2020-11-10 09:00:01 914

原创 2020-11-09

基础视频——字符串知识前期的重点打牢cc++基础——内存指针linux操作系统——vim makefile gcc gdb 常用指令补充学习数据结构与算法arm开发工具使用服务器配置搭建

2020-11-09 00:44:26 56

原创 栈相关知识

1.linux查看修改线程默认栈空间大小 ulimit -sa、通过命令 ulimit -s 查看linux的默认栈空间大小,默认情况下 为10240 即10Mb、通过命令 ulimit -s 设置大小值 临时改变栈空间大小:ulimit -s 102400, 即修改为100Mc、可以在/etc/rc.local 内 加入 ulimit -s 102400 则可以开机就设置栈空间大小d、在/etc/security/limits.conf 中也可以改变栈空间大小:#<domain&

2020-11-03 20:13:25 155 1

原创 编译时报implicit-function-declaration(隐式声明)错误

没有在头文件中声明函数

2020-11-02 22:51:34 1646

原创 备学书籍

数据结构(C语言版) 第2版 (严蔚敏等)《TCP/IP网络编程》unix网络编程C语言程序设计

2020-11-02 17:38:31 48

原创 没事就备份吧

及时备份重要信息——本地(fianlshell)网络githubgithub加速通道

2020-11-02 00:01:24 86

转载 云服务器多用户登陆

https://cloud.tencent.com/developer/article/1559013一个密钥可以给多人使用,不同用户下保存.ssh/文件(含密钥)

2020-11-01 19:54:51 472

原创 vim配置思路

工具vundle .vimrc配置文件插件:youcomplete \ taglist \airline \the nerd tree\indentline\delimitmate下载相应的.vim 放在vundle 下面youcompleteM 插件真难装vim插件推荐之indentLineVim插件vim-airlinegit submodule update --init --recursive 时间好久PluginInstall 最后执行...

2020-11-01 13:19:45 173

原创 Linux常见指令:易出错

useradd 较为低级的用户建立,用adduser更好一些,配置较全,参数不多,直接man 来看

2020-10-31 16:19:12 69

原创 云服务器长时间不操作,连接断掉如何解决

修改配置文件sudo vim /etc/ssh/sshd_config //ssh配置文件#ClientAliveInterval 30 // 客户端每隔多少秒向服务器发送一个心跳数据#ClientAliveCountMax 8640 // 客户端多少秒没有响应,服务器断掉重连service sshd restart //重启ssh服务...

2020-10-31 11:48:30 1098

原创 嵌入式学习第四天

环境搭建1云服务器的 上传与下载 ——工具是lrzsz ,安装Xmodem,vim的环境配置2软件secureCRT 方便传文件,但是界面难看3进一步使用git工具4 busybox初步了解5 usb转网口驱动下载,windows 一般的工具都会适配,而mac 需要单独下载,就要去卖家官网上找,找对应的6mac brew的安装,命令行的光标移动7tftp服务搭建,服务器端和客户端都要下载,有个工作文件,上传下载都是以这个工作文件为基础,NFS文件共享,不够了解8中断的初步了.

2020-10-30 22:42:22 42

原创 vim IDE使用步骤

1、IDE的使用步骤1)进入代码根目录2)在shell下运行命令: cscope -Rbq -f ./cscope.out3) 打开Vim,按下c t快捷键自动生成tags文件。2、IDE的常用命令1)Ctags 快捷键Ctrl-] ---- 跳转到光标所在符号的定义。 快捷键Ctrl-t ---- 回到上次跳转前的位置。2)Taglist 快捷键t l ---- 打开和关闭Taglist窗口3)Cscope vim命令...

2020-10-30 19:02:47 329 1

原创 命令行光标移动

Ctrl+a跳到本行的行首,Ctrl+e则跳到页尾。Ctrl+u删除当前光标前面的文字ctrl+k-删除当前光标后面的文字Ctrl+w和Alt+d-对于当前的单词进行删除操作,w删除光标前面的单词的字符,d则删除后面的字符Alt+Backsapce-删除当前光标后面的单词,如果删除错误,使用Ctrl+y进行恢复Ctrl+L进行清屏操作ctrl+a:光标移到行首。ctrl+b:光标左移一个字母ctrl+c:杀死当前进程。ctrl+d:退出当前 Shell。ctrl+e:光标移到行尾。

2020-10-30 16:50:26 686

空空如也

空空如也

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

TA关注的人

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