自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 安装openssl库

linux openssl库安装

2022-08-15 15:09:31 658

原创 虚机修改yum源

修改yum的下载源

2021-08-20 11:08:11 1099

转载 服务器和本地传输文件

转自 https://www.cnblogs.com/jiangyao/archive/2011/01/26/1945570.html在linux下一般用scp这个命令来通过ssh传输文件。1、从服务器上下载文件scp username@servername:/path/filename /var/www/local_dir(本地目录)例如scp [email protected]:/var/www/test.txt 把192.168.0.101上的/var/www/test.txt 的文件下载

2021-07-01 19:30:38 789

原创 缺页异常理解

术语约定VA:Virtual Address 虚拟地址PA:Physical Address 物理地址MMU:Memory Manage Unit 内存管理单元TLB:Translation Lookaside Buffer 旁路快表缓存/地址变换高速缓存PTE:Page Table Entry 分页表项内存的惰性分配以32位的Linux系统为例,每个进程独立拥有4GB的虚拟地址空间,根据局部性原理没有必要也不可能为每个进程分配4GB的物理地址空间。64位系统也是一样的道理,只不过空间寻址范

2021-06-30 17:17:04 3252 2

原创 linux中vi编辑文本格式设置

首先安装vim编辑器$sudo apt-get install vim vim-gnome vim-tiny vim-gtk vim-nox在用户目录下建立自己的配置文件#cd ~touch一个名为.vimrc文件#touch .vimrc#vi .vimrc输入以下配置:set nocompatible 不使用vi默认键盘布局set number 显示行号set autoindent

2021-06-30 16:41:09 963

转载 wget url太长待之下载出错

一、 当下载URL过长,有可能会出现两种错误下载时出现错误,把URL中的参数当作是shell命令执行,无法正常下载解决方法:用“”修饰URL,例如:wget “https://nj02all01.baidupcs.com/file/71abd64ee4bd4edf609b7951db4281b0?bkt=p3-140071abd64ee4bd4edf609b7951db4281b0534038750000002a5800&fid=2518038965-250528-4160988576889

2021-06-30 15:10:39 2498 1

转载 wget用法

http://www.cnblogs.com/dzh-stuff/archive/2012/02/16/2354611.htmlWget是一种很好用的因特网下载工具,他具有的很多特性是其他工具所不能比拟的,再者他是一个轻量级可配置的下载工具。本文结合例子介绍Windows下wget的多种下载方法和用途。1、用Wget下载单个文件下载的时候会显示:~文件的大小、连接状态、连接地址以及文件的大小~保存的名称~下载进度条~下载速度、时间,还有多少未下载例如我下载editplus时输入D:\Ha

2021-06-30 11:58:02 465

转载 linux下rpm安装软件

################rpm命令的应用###############rpmrpm -ivh name.rpm ##安装软件 -v显示过程 -h指定加密方式为hashrpm -e name ##卸载软件rpm -ql name ##查看软件生成的文件rpm -qlp name.rpm ##查询软件安装后会生成什么文件rpm -qa |grep wps //过滤掉wpsrpm -pq name.rpm ##查询软件包安装后的名字rpm -ivh name.rpm --force ##强

2021-06-18 15:53:24 285

转载 类内存大小

首先,平时所声明的类只是一种类型定义,它本身是没有大小可言的。 因此,如果用sizeof运算符对一个类型名操作,那得到的是具有该类型实体的大小。类所占内存的大小是由成员变量(静态变量除外)决定的,成员函数(这是笼统的说,后面会细说)是不计算在内的。成员函数还是以一般的函数一样的存在。a.fun()是通过fun(a.this)来调用的。所谓成员函数只是在名义上是类里的。其实成员函数的大小不在类的对象里面,同一个类的多个对象共享函数代码。而我们访问类的成员函数是通过类里面的一个指针实现,而这个指针指向的是一

2021-04-29 20:53:55 241

原创 C++不安全函数的禁止方法

在用VS2013测试string::copy()时发生编译错误,错误提示如下:错误 2 error C4996: 'std::basic_string<char,std::char_traits<char>,std::allocator<char>>::copy': Function call with parameters that may be unsafe - this call relies on the caller to check that the

2021-04-25 20:21:35 894

原创 linux和VxWorks下打印函数区别

printk是linux内核的打印函数,类似用户态下的printf,可在中断上下文调用;同样,logMsg是vxworks内核的打印函数,也可在中断上下文调用。linux开始作为桌面系统设计,后来广泛用于服务器领域,慢慢扩展到了嵌入式系统;而vxworks则以高性能实时嵌入式系统闻名。从这可以看出,它们的差异是很大的,考查两个同样的功能在不同系统的实现,管中窥豹,虽有不足,但也可以了解两个系统(分时系统与实时系统)设计上的一些考虑。下面先看看printk的实现(内核版本2.6.38):1,关内核抢占

2021-04-25 16:49:26 828

原创 指针数组和数组指针

数组指针和指针数组的区别数组指针(也称行指针)定义 int (*p)[n];()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。也就是说执行p+1时,p要跨过n个整型数据的长度。如要将二维数组赋给一指针,应这样赋值:int a[3][4];int (*p)[4]; //该语句是定义一个数组指针,指向含4个元素的一维数组。p=a; //将该二维数组的首地址赋给p,也就是a[0]或&a[0][0]p++; //

2021-04-25 16:23:53 221

转载 2021-04-25

volatile用在如下的几个地方:1、中断服务程序中修改的供其它程序检测的变量需要加volatile;2、多任务环境下各任务间共享的标志应该加volatile;3、存储器映射的硬件寄存器通常也要加volatile说明,因为每次对它的读写都可能由不同意义;volatile修饰指针一般用在共享指针上面。下面代码:uchar * volatile reg;行代码里volatile修饰的是reg这个变量。所以这里实际上是定义了一个uchar类型的指针,并且这个指针变量本身是volatile 的。但

2021-04-25 09:29:24 78

原创 2021-04-19

内存碎片通常分为内部碎片和外部碎片:内部碎片是由于采用固定大小的内存分区,当一个进程不能完全使用分给它的固定内存区域时就产生了内部碎片,通常内部碎片难以完全避免;外部碎片是由于某些未分配的连续内存区域太小,以至于不能满足任意进程的内存分配请求,从而不能被进程利用的内存区域。现在普遍采用的段页式内存分配方式就是将进程的内存区域分为不同的段,然后将每一段由多个固定大小的页组成。通过页表机制,使段内的页可以不必连续处于同一内存区域,从而减少了外部碎片,然而同一页内仍然可能存在少量的内部碎片,只是一页的内存

2021-04-19 00:00:46 79

转载 socke通信中阻塞和非阻塞分析

先理一下阻塞和非阻塞的概念:阻塞就是让当前调用线程一直处于停止等待当中,挂起的状态,线程函数会被卡住。非阻塞则是不管运行结果如何,都会继续往下执行(往往都要处理很多返回结果),线程函数里一般都是一个循环,不停的轮询。再理一下发送接收函数:send/sendto函数,只是把应用层的数据拷贝到内核发送缓冲区,并不保证数据一定会被发送到对端,真正执行发送及什么时候发送是由系统(协议栈)决定的,所以send/sendto函数返回成功,只能说明拷贝成功了,如果在还未发送之前网络断开,则发送失败。recv/r

2020-11-20 17:46:18 1308

原创 在通过flash启动vx系统时出现Error ELF32 load segment

通过FTP软件以二进制类型将vxWorks.o文件传输到tffs0文件夹下,通过flash启动系统时加载vxWorks.o文件时出现了Error ELF32 load segment错误导致无法启动系统。如果将启动设置中的“other”选项由"mottsec0"改为空之后启动之后会出现找不到network device,输入“ifconfig”并没有显示mottsec0网卡信息。之后再加上“other”设置“mottsec0”之后变正常启动。具体原因未知。...

2020-10-26 20:38:02 261

原创 VS2013 error C1071: unexpected end of file found in comment

VS2013 error C1071: unexpected end of file found in commentVS2013 error C1071: unexpected end of file found in comment在函数内部中文注释的时候若使用**/代码描述/,需要在中文的两端各加一个空格:/* 代码描述 /*,由此带来的错误可能会有:error C1075: en...

2020-09-23 17:30:56 379

原创 txt文本处理

在对交换机配表的任务中需要对配表过程进行一系列改动,其中因为表的数量和表内容和之前相比增加了非常多,因此再使用之前的方法(手动计算为二进制)变得很麻烦,因此本文的工作便是将特定目录下的txt(十六进制+十进制)转化到特定目录下的一个总表里面。输入如下图:注: 每个表的第一行为此表之后数据的位宽(bit),例如Index1.txt中第一行为20、15、25、8,分别对应第二行的60、17、18、0转化为二进制后在总表中的位宽。第一行之后的开头8位为十六进制数据。程序的输出如下图:在此程序中主要用到了

2020-09-23 17:25:10 892

原创 Socket通信bind错误

Socket非正常退出导致的bind错误在Vx下进行Socket无连接通信时,由于在发送消息进程中使用ctrl+c强制中止,导致下一次再进行发送时会出现bind()出现错误。原因在于非正常退出时,没有进行close,导致端口和地址被占用。解决方法是利用setsockopt()函数将Socket设置为复用。在bind函数之前使用setsockopt函数,如下即可解决bind错误的情况。BOOL bReuseaddr = TRUE;setsockopt( s, SOL_SOCKET, SO_REUSEA

2020-08-18 10:08:44 7386

转载 Win通过C实现自身串口(RS232)通信

Win通过C实现自身串口(RS232)通信转载自https://blog.csdn.net/Touch_Dream/article/details/82915553,感谢作者提供的源码,经过测试可行。测试条件:使用DB9转USB的转换头,将针头2和3通过杜邦线短接,即表示自身回环,如下所示:![在这里插入图片描述](https://img-blog.csdnimg.cn/20200629191908439.jpg#pic_rig![在这里插入图片描述](https://img-blog.csdnimg

2020-06-29 19:22:26 1526

空空如也

空空如也

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

TA关注的人

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