自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Python3 for macOS第一次运行python脚本

Python3 for macOS,记录第一次运行python脚本第一次运行:查看python的版本:终端输入python --version//查看python的版本如果是Python 2.7.10查看电脑上有没有安装python3终端输入python3 --version//查看python3的版本如果有,结果可能是Python 3.*.*,此时需要安装,直接进行第...

2019-07-15 14:51:57 2800

原创 Linux下git_初识

Linux下git_初识​ 简单来说,git就是一种文件管理方式,在写代码或者文章时,会有各个版本的更新,特别是多人合作的情况下,如果想找回以前的版本,又想保留最新的,这个时候的版本控制是一件很麻烦的事情。git能记录每次文件的改动,改动的人是谁,改动理由和时间都记录下来。这样方便管理。Linux下使用git检查是否安装git# git --version- bash: git: com...

2019-06-19 14:01:53 321

原创 C语言陷阱——隐式类型转换

C语言陷阱——隐式类型转换C语言有隐式类型转换,即如果将无符号类型和有符号类型一起运算,会将有符号类型转换成无符号类型,这种操作如果放在while和if语句的条件判断中,会有想不到的结果,所以要小心小心~举例:strlen函数返回值是size_t,strlen不包含‘/0’#include <stdio.h>#include<string.h> int main...

2019-04-12 10:39:36 355

原创 进程和线程的引入和区别总结

进程和线程的引入和区别总结为什么引入进程和线程在早期的计算机系统中单道批处理系统的程序是顺序执行,在内存中仅装入一道用户程序,独占系统的所有资源,只有在一个系统完成之后才允许装入另一个系统,这种方式浪费资源,系统运行效率低。多道批处理系统:同时在内存中装入多个系统,让他们同时共享系统资源,并发执行,所以引入了进程的概念。在80年代中期之前,进程一直是能拥有资源和独立调度的基本单位,后来人们...

2019-04-08 22:52:18 919

转载 Linux_Centos7下boost库安装

Linux_Centos7下boost库安装在安装之前最好保证你的gcc是高版本的,否则有时候安装高版本的boost会出错。我是在root权限下进行的这些操作。下载源码,这个下载比在官网上快很多。wget https://dl.bintray.com/boostorg/release/1.69.0/source/boost_1_69_0.tar.gz解压压缩包。tar -zx...

2019-04-08 10:15:26 4823

原创 Linux下简单socket编程

Linux下简单socket编程socket的英文翻译是接口、插座的意思,很形象,就相当于将两个台电脑用一根线连起来,线的两头分别是插头,插在两台电脑上,借此实现通信。两台电脑通信,实际上是这两台电脑上的某个进程在进行通信。而两个进程进行通信,实际上是往同一个文件中读取数据。在理解socket编程之前,先大概了解一下socket缓冲区的概念。socket编程基于传输层,是应用层和传输层之间...

2019-04-06 21:46:13 18253 3

原创 main函数的参数列表

main函数的参数列表main函数实际上是有参数的,如何给main函数传参,main函数的参数值是从操作系统的命令行上获得的,当要执行一个课执行文件时,在DOS提示符下键入文件名,再输入实际参数即可把这些参数传送到main的形参中。C:\可执行文件名 参数1 参数2 ...main函数的参数列表#include<stdio.h>int main(int agrc; cha...

2019-04-06 19:18:15 1322 2

原创 Linux下报错parameter ‘***’ has just a forward declaration

#Linux下报错parameter ‘***’ has just a forward declaration因为写函数时,函数参数之间写成了分号,而不是逗号。#include<stdio.h>//这里应该写成 int main(int agrc, char* argv[], char *envp[])====>是逗号,!int main(int agrc; char* ...

2019-04-06 18:34:05 2372

转载 CentOS下升级cmake问题CMake Error:Could not find CMAKE_ROOT!!!

cmake --versionCMake Error:Could not find CMAKE_ROOT!!!CMake has most likely not been installed correctly.Modules directory not found in/usr/local/binSegmentation fault (core dumped)~~安装了两次cma...

2019-04-04 20:10:29 8112 5

原创 CentoOS7下vim输入中文

CentoOS7下vim输入中文进入设置点语言设置添加中文拼音选项点击shift键切换,或者鼠标点击切换。注意: vim切换模式时要进入英文输入。

2019-04-03 19:59:02 2941

原创 string对元素的访问函数

string对元素的访问函数string::operator[]有两种:char&amp; operator[] ( size_t pos ) //返回pos位置元素,非const类调用const char&amp; operator[] ( size_t pos ) const //返回pos位置元素,const类调用string::at和operator[]的用法类...

2019-03-17 15:45:17 1802

原创 string之size/capacity/reserve/resize/clear/empty/max_size/shring_of_fit函数

对string的capacity和size的操作函数size()函数和length()函数的结果相同,都是返回字符串有效字符的长度,都不包含最后的’\0’,底层实现原理完全相同,引入size()的原因是为了与其他容器的接口保持一致。capacity函数返回当前string的预留空间的大小。max_size()输出一个字符串最多有多长,输出为定值,在Win32的编译环境下是42亿九千万多,即...

2019-03-17 14:58:32 371

原创 string函数迭代器的使用

string函数迭代器的使用迭代器的声明:string str("abcdefg");//正向遍历strstd::string iterator it = str.begin(); //或end()std::string const_iterator it = str.begin(); //或cend(),只读//反向遍历strstd::string reverse_iterat...

2019-03-17 13:43:22 1203

原创 string的构造和opertor=函数_C++

string的构造函数string函数的初始化/*&amp;gt;Plan:string的初始化&amp;gt;Author:ADiiana&amp;gt;Time:2019/03/17*/#include&amp;lt;iostream&amp;gt;#include&amp;lt;string&amp;gt;using namespace std;int main(){ std::string s0(&quot;I

2019-03-17 12:36:40 268

原创 对等长单词进行字典序排序C_C++

C/C++对等长单词进行字典序排序只对等长字母排序:思路:代码:/*&amp;gt;Plan:对等长单词进行字典序排序;&amp;gt;Author:ADiiana&amp;gt;Time:2019/3/15*/#include&amp;lt;iostream&amp;gt;#include&amp;lt;vector&amp;gt;#include&amp;lt;string&amp;gt;using na

2019-03-17 11:14:24 728

原创 辨别指针常量和常量指针_C

辨别常量指针和指针常量_C举例const char *p; //常量指针char const *p; //常量指针int a = 10;char* const p = &amp;amp;a; //指针常量const char* const p = &amp;amp;a; //指针常量指向一个常量记忆:遇见const读常量,遇见*读指针。所以第一行和第二行的代码都可以看做const * 即为常量...

2019-03-14 20:34:36 123

原创 C语言中反斜杠的作用_续行符和转义字符

C语言中反斜杠的作用_续行符和转义字符C语言中单反斜杠\有两种作用:续行符和转义字符。双斜杠//是单行注释。续行符的用法用于语句续行和注释续行 printf \ ("nihao\n"); //反斜杠 \ 作为续行符转义字符ASCII字符集中由95个可打印字符(0x20-0x7E)和33个控制字符(0x00-0x1F,0x7E)组成。C语言中定义在字符编号前加"\"...

2019-03-02 17:15:36 13325

原创 线程标识和创建 Linux_C/C++

线程标识和创建线程标识进程ID在整个系统中是唯一的,但线程ID只在它所属的进程环境中有效。线程ID用pthread_t数据类型表示,所以可移植的操作系统实现不能把它作为整数来处理,因此必须使用函数来对两个线程ID进行比较int pthread_equal(pthread_t tid1, pthread_t tid2);//参数:两个线程的线程ID//返回值:相等则返回非0值,否则返回0...

2019-01-27 17:49:59 241

原创 invalid use of destructor *** as a type C++

error: invalid use of destructor ‘~UDPServer’ as a type UDPServer::~UDPServer{无效的析构函数类型,其实是一个很低级的错误,但我并没有注意到,找了很久错误,贴出来给大家填坑。析构函数的正确格式:class test{ test(){ } ~test(){ }};析构函数的函数名与类名相同,一定...

2019-01-22 17:25:40 2671

原创 网络字节序_大小端 Linux_C/C++

网络字节序——大小端计算机内部因为系统差异,数据存储分为大端存储和小端存储。大端存储:数据的高位存储在低地址处,数据的低位存储在高地址处(大高低)。小端存储:数据的低位存储在低地址处,数据的高位存储在高地址处(小低低)。网络通信要连接两台不同的主机,如果两台主机的大小端不一致,那么通信的数据交换会无法识别。场景1:主机A、B进行通信。主机A是大端存储,主机B是小端存储。已知:发送主机发...

2019-01-21 20:09:28 979

原创 inline内联函数C++

内联函数的概念因为函数在调用时有空间和时间的开销,特别是多次重复调用时开销很大。所以C++中就引入内联函数的概念,适用于短小,功能简单,频繁调用的函数,比如swap函数。内联函数就是将函数调用处,用函数体替换,这样就没有函数压栈的开销,类似于宏替换。简单看一个例子,add函数:/*code 1*/#include&amp;amp;amp;lt;iostream&amp;amp;amp;gt;using namespace std;...

2018-11-21 19:16:07 336

原创 C语言的编译链接执行过程

C语言的编译链接执行过程​ 机器不能识别高级语言,而对我们来说高级语言更方便理解,这需要编译器的帮助才能完成中间的转化过程:将高级语言转化成机器能识别的二进制文件。​ 而一个C程序在执行过程中,需要经历两个环境:编译环境和执行环境编译环境的四个步骤预处理:对源代码进行处理编译:生成汇编语言汇编:将汇编语言转化成机器语言链接:将生成的目标文件与相关的目标文件或标准库链接,生成可执行...

2018-10-31 11:01:47 2384

原创 Linux下Makefile文件的编写

Linux下Makefile文件的编写​ 在Linux下编写程序时,可能会多文件编程,如果一个文件修改了,那么与它相关的文件都需要重新编译链接,这样一个一个敲命令很不方便,所以需要写一个Makefile文件,把各个文件在编译链接过程中的依赖方法和依赖关系写清楚。这样每次只需要使用make命令,会自动寻找该文件夹下的命名为makefile或Makefile的文件,并执行。​ 先举一个例子:​...

2018-10-31 11:00:18 484

原创 Linux下的彩色渐变进度条_动图 C

彩色进度条完成这个小程序需要一些预备知识:Linux下的色彩是如何编码的?进度条以什么样的形式展现?如何让printf?理解计算机缓冲区的概念。##问题一​ 在Linux下编程不能用到&amp;amp;amp;amp;lt;windows.h&amp;amp;amp;amp;gt;的头文件,那怎么实现彩色,我们需要研究一下Linux彩色打印。​ Linux终端会解析一些,并且依据控制码来设置终端的绘制属性,所以只要输出流中包含ANSI控制码...

2018-10-29 20:54:02 397

原创 缓冲区

缓冲区 缓冲区又称缓存,是内存空间的一部分,计算机预留出一部分空间,用来暂时保存输入输出的数据,这部分空间就叫做缓冲区。​ 我们知道电脑CPU的速度远大于人敲击键盘的速度,还有读写硬盘、向显示器输出的速度,也就是远大于IO的速度,为了提高效率,让CPU更好的得到利用,就引入了缓冲区的概念。​ 有了缓冲区,将数据先放入缓冲区,等到一定的时机再拿出来,这样不仅提高了CPU的效率,也减少了程序的等...

2018-10-29 20:39:35 1700

原创 MATLAB_LSB_隐藏水印和提取,附代码

MATLAB_LSB_隐藏水印和提取,附代码对图像的认识​ 图片是一个点阵图像,在屏幕上显示是RGB模式,打印模式为CMYK(彩色印刷)​ 图片格式分为很多种:bmp(无压缩的格式), jpg(经过压缩的格式),png。​ 一般的彩色图片,每个像素点都用三个0~255的值来表示red, green, blue,每个占一个字节,所以称为24位图,这里默认图片格式为bmp。文件头​ 图片是...

2018-10-28 00:27:54 11018 6

原创 Linux目录之var

Linux目录之var与/usr安装时会占用较大硬盘容量不同/var是系统运作后才会渐渐占用硬盘容量/var目录针对常态性变动的文档,包括(cache),登陆文档(log file),某些软件运作所产生的档案,例如mysql数据库的档案,常见的次目录有:目录应放文档/var/cache/应用程序运行过程中会产生的临时文档/var/lib/程序执行过程中,一些数...

2018-10-27 18:54:15 1211

原创 Linux目录之usr

Linux目录之/usr​ user是Unix Software Resource的缩写,也就是Unix操作系统资源软件FHS建议所有的软件开发者应该将他们的数据合理的放在这个目录的次目录下,不要自己自行建立独立的目录。这个目录有点像Windows系统中的【C:\Windows】和【C:\Program Files】,系统刚安装完,这个目录占用的容量最多。User下的次目录有次目录与之前...

2018-10-27 18:23:55 285

原创 Linux常见的目录配置

Linux常见的目录配置FHS(Filesytem Hierarchy Standard)标准​ 为了规范每个特定的目录下应该要放置什么样的数据,这样Linux系统就能在既有的面貌下(目录架构不变)发展出开发者想要的独特风格。​ 独立的软件开发商,操作系统的制作者,以及想要维护系统的用户都要遵循FHS的标准。/(root, 根目录):与开机系统有关/usr(unix software ...

2018-10-27 17:47:58 378

原创 vim 及配置

vim 及配置了解vim​ vim是vi的进阶版本,vim可以用颜色或底线等方式来显示一些特殊信息,是一个程序编辑器。vim的使用命令:$ vim test.c,切换到插入模式才能输入基本的vim分为三种模式:一般模式(Normal mode)​ 这是默认模式,以vi打开一个文档就直接进入命令模式了,在这个模式下,可以移动【上下左右】来移动光标,也可以删除字符,删除整行,复制粘贴...

2018-10-27 13:33:55 119

原创 VS2013: error C1075

 一直都能运行的文件突然出现了一大堆问题。但所有问题的根源都是下面这个,要善于找问题,其它的问题就相应解决了 是因为我在写 .c 文件中的某一个函数时少加了一个 右括号,加上之后,其他问题都解决了。...

2018-10-15 13:33:39 1768

原创 顺序表实现增删查改

本文摘要:1.顺序表的概念2.顺序表结构的定义3.动态顺序表的操作实现 顺序表的概念顺序表是一种数据结构,是数据的存储方式。顺序表是改善了数组的缺点,相对增加了灵活性,使用户能够实现增删查改的操作。顺序表分为静态顺序表和动态顺序表。                         顺序表的定义//静态顺序表#define N 100typede...

2018-10-12 20:20:10 1394

转载 Ubuntu+NS2+nam中遇到的问题

这篇文章总结了,我在Ubuntu 16.04 环境下安装配置NS2过程中遇到的问题。首先是在虚拟机VMare Workstation 中安装Ubuntu 16.04最好是Ubuntu 16.04.太低需要升级,太高可能会遇到一些未知问题,16.04的最稳定。这些步骤网上有很多教程,1.连无线网的问题:必须要联网,你才能下载NS2必要的工具和库文件如果没有联网,直接输入 ...

2018-09-12 17:25:16 1675 1

原创 函数栈帧

 每一次函数调用都是一个过程,为函数开辟栈空间,用于本次函数调用中临时变量的保存、现场保护。这块栈空间我们称为函数栈帧。​ 我们从汇编角度来分析函数调用过程中底层寄存器的使用,通过ebp(栈底指针)和esp(栈顶指针)控制的空间来体现栈帧的大小,主要问题有三个:现场保护信息、形参实参传递、函数指针回落。文章比较长,如果想直接了解过程,可以只查看函数栈帧图。准备工作编译器:Visua...

2018-07-22 17:42:47 1274 1

原创 关于C语言局部变量的思考

    函数的形参变量要等到函数被调用时才分配内存,局部变量也是如此。    局部变量是定义在函数内部的变量,它的作用域只在函数内部,函数之外调用它会产生你不能控制的结果。我们先来看一个例子:#include &lt;stdio.h&gt;int *Test(int);int *Test(int tmp){    int a = 9;    return &amp;a;    //这里返回...

2018-04-14 10:11:37 371

空空如也

空空如也

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

TA关注的人

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