自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Uaena的博客

记录与分享自己的学习成果

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

原创 Linux开发学习笔记(二)

 (温馨提示:内容有点多,可点右边的目录进行跳转)Shell编程1、简单介绍Shell 脚本(shell script),是一种为 shell 编写的脚本程序。Shell 编程跟 java、php 编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了。简单地讲,shell编程就是对一堆Linux命令的逻辑化处理。 在计算机科学中,Shell俗称壳(...

2018-10-04 10:37:43 4639

原创 Linux开发学习笔记(一)

(温馨提示:内容有点多,可点右边的目录进行跳转)安装虚拟机并联网1、安装虚拟机vmware:安装完vmware并打开——》点击创建新的虚拟机——》自定义——》下一步——》选择稍后安装操作系统——》选择Linux Ubuntu 64位——》给虚拟机取名字、选择安装路径——》配置处理器数量1和内核数量2——》虚拟机内存选择1G——》使用桥接网络——》一直选默认——》完成。2...

2018-10-04 10:30:50 944

转载 静态链接库和动态链接库的区别【转】

(转自:https://www.cnblogs.com/deepblueme/p/4804954.html)静态链接库和动态链接库的区别一、静态链接库预编译->编译->汇编->链接Linux:生成目标文件g++ -c source.cpp -o source.o打包成静态链接库ar -crv source.a source.o使用静态链接...

2018-10-31 22:27:14 239

转载 gcc编译cpp文件为什么要加-lstdc++【转】

(转自:https://blog.csdn.net/iloveyousunna/article/details/78527071)gcc可以编译c++文件,也可以编译c文件,但默认是编译c文件的,加-lstdc++表示编译c++文件,即链接c++库,加-lc表示链接c库,默认情况下就是链接c库,所以如果编译c文件可以不加-lc。(转自:https://blog.csdn.net/ha...

2018-10-31 21:55:06 2534

转载 linux 环境变量设置方法总结(PATH/LD_LIBRARY_PATH)【转】

(转自:https://blog.csdn.net/wangeen/article/details/8159500)PATH和LD_LIBRARY_PATH本质都是变量,所谓变量的意思就是由别人赋值产生的,直觉往往会让我们添加和减少这个变量本身的某些路径,实际上这是不正确的。正确的做法是我们要去修改赋予这个变量数值的那些配置文件,加一条路径或者减一条。说到底变量只关乎显示,不关乎其用于显...

2018-10-31 21:38:03 188

转载 排序算法的稳定是指,关键码相同的记录排序前后相对位置不发生改变【转】

(转自:https://www.nowcoder.com/questionTerminal/1ed2cf389c134a2ebc9d14ecdd8de3b0)下面哪种排序算法是不稳定的() A.插入排序 B.冒泡排序 C.快速排序 D.归并排序 答案:C现在分析一下常见的排序算法的稳定性,每个都给出简单的理由。 (1)冒泡排序...

2018-10-31 21:01:23 3627

转载 time_wait状态产生的原因,危害,如何避免【转】

(转自:https://blog.csdn.net/u013616945/article/details/77510925)前言请说说你对TCP连接中time_wait状态的理解解答:先上TCP的状态变迁图1. time_wait状态如何产生?由上面的变迁图,首先调用close()发起主动关闭的一方,在发送最后一个ACK之后会进入time_wait的状态,也就...

2018-10-31 20:50:31 251 1

转载 进程/线程同步的方式和机制,进程间通信【转】

(转自:https://www.cnblogs.com/virusolf/p/5331946.html)一、进程/线程间同步机制。临界区、互斥区、事件、信号量四种方式临界区(Critical Section)、互斥量(Mutex)、信号量(Semaphore)、事件(Event)的区别1、临界区:通过对多线程的串行化来访问公共资源或一段代码,速度快,适合控制数据访问。在任意时刻只允...

2018-10-31 20:28:45 158

转载 内存溢出和内存泄漏的区别、产生原因以及解决方案【转】

(转自:https://www.cnblogs.com/Sharley/p/5285045.html)内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。内存泄露 memory leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄...

2018-10-31 15:29:01 96

转载 函数调用 压栈的工作原理【转】

(转自:https://blog.csdn.net/u011555996/article/details/70211315)1.开篇  本篇文章着重写的是系统中栈的工作原理,以及函数调用过程中栈帧的产生与释放的过程,有可能名字过大,如果不合适我可以换一个名字,希望大家能够指正,小丁虚心求教!如果有哪里写的不清楚的或者错误的地方请及时更正,小丁再次谢过了。文章里面有错别字,也可能会有好友说寄...

2018-10-31 15:21:26 821

转载 C++ 多态【转】

(转自:https://blog.csdn.net/jackzhang_123/article/details/79519651)什么是多态?有哪些分类?答:多态是面向对象的重要特性之一,它是一种行为的封装,是同一种事物所表现出的多种形态,简单地说是”一个接口多种实现“有两种类型的多态性:编译时的多态性。编译时的多态性是通过重载来实现的。运行时的多态性。运行时的多态性是通过虚成员实...

2018-10-30 23:41:59 81

转载 C++多态问题集锦【转】

(转自:https://blog.csdn.net/lixungogogo/article/details/52187596?utm_source=blogxgwz0) 什么是多态答:多态是面向对象的重要特性之一,它是一种行为的封装,是同一种事物所表现出的多种形态,简单地说是”...

2018-10-30 23:41:42 123

转载 进程和线程的主要区别(总结)【转】

(转自:https://blog.csdn.net/kuangsonghan/article/details/80674777)根本区别:进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位在开销方面:每个进程都有独立的代码和数据空间(程序上下文),程序之间的切换会有较大的开销;线程可以看做轻量级的进程,同一类线程共享代码和数据空间,每个线程都有自己独立的运行栈和程序计...

2018-10-30 23:41:19 113

转载 死锁产生的原因及四个必要条件【转】

(转自:https://blog.csdn.net/u014419806/article/details/52856589/)一. 什么是死锁?如果一个进程集合里面的每个进程都在等待这个集合中的其他一个进程(包括自身)才能继续往下执行,若无外力他们将无法推进,这种情况就是死锁,处于死锁状态的进程称为死锁进程二. 死锁产生的原因?1.因竞争资源发生死锁现象:系统中供多...

2018-10-30 23:41:13 844

转载 线程同步机制【转】

(转自:https://blog.csdn.net/gamekit/article/details/80788579)线程同步主要用于协调对临界资源的访问,临界资源可以是硬件设备(比如打印机)、磁盘(文件)、内存(变量、数组、队列等)。线程同步有4种机制:临界区互斥量事件信号量他们的主要区别在于:适用范围:临界区在用户模式下,不会发生用户态到内核态的切换,只能用于同...

2018-10-30 23:41:07 86

转载 线程同步的四种方法【转】

(转自:https://blog.csdn.net/wuhuagu_wuhuaguo/article/details/78591330#commentBox)线程同步的四种方法1、临界区(Critical Section):通过对多线程的串行化来访问公共资源或一段代码,速度快,适合控制数据访问。优点:保证在某一时刻只有一个线程能访问数据的简便办法缺点:虽然临界区同步速度很...

2018-10-30 23:41:00 205

原创 TCP连接实现 客户端——服务端 通信

客户端://客户端 client.c#include <stdio.h> #include <unistd.h> #include <string.h> #include <stdlib.h> #include <arpa/inet.h> #include <sys/socket.h> #inc...

2018-10-30 23:40:52 259

转载 shell判断文件或文件夹是否存在【转】

(转自:https://blog.csdn.net/wenxuechaozhe/article/details/53708244?utm_source=blogxgwz1)#!/bin/sh#判断文件存在,判断是否为文件夹等testPath="/Volumes/MacBookProHD/Mr.Wen/08 shell命令"testFile="/Volumes/MacBookProHD/...

2018-10-30 23:40:45 112

转载 一个易错的面试题来加深对C++多态的理解【转】

(转自:https://blog.csdn.net/stpeace/article/details/77799724) 原题目程序比较长, 我来简化成核心的考察部分, 如下:#include <iostream>using namespace std; class A{public: virtual void x() { cout <&lt...

2018-10-23 11:26:56 151

转载 C++总结6——继承与多态的笔试题【转】

(转自:https://blog.csdn.net/wendy_keeping/article/details/75213671)1—————————————————#include <iostream>using namespace std;class Base{public: Base(int data):_ma(data) { ...

2018-10-23 11:26:39 193

转载 C++总结5——继承与多态【转】

(转自:https://blog.csdn.net/wendy_keeping/article/details/75212860)一、继承1.C++的继承继承有3种形式:私有继承、保护继承、公有继承,默认的继承方式是私有继承。通常使用 public 继承。不论哪种继承方式,派生类都是显示的继承类基的保护成员变量和函数和公有成员变量和函数,继承方式只是限定在派生类中这两...

2018-10-23 11:26:32 108

转载 C++总结4——内存泄露/资源泄露【转】

(转自:https://blog.csdn.net/wendy_keeping/article/details/75205781)内存泄露/资源泄露现象1.malloc/new动态申请的内存,忘记写free/delete,导致内存泄露。2.调用默认的赋值运算符重载函数,发生浅拷贝现象,导致内存泄露。如下图:3.在构造函数中new,但是程序运行过程中抛出异常,未调用析构函数...

2018-10-23 11:26:25 274

转载 C++总结1——指针和引用/数组的区别【转】

(转自:https://blog.csdn.net/wendy_keeping/article/details/75193772)1.指针和引有什么区别?(从反汇编角度回答)a.其实引用和指针本质上是一样的,他们的汇编指令都是两行。int a = 10;int *p = &a;//lea eax,[a] 将...

2018-10-23 11:26:18 100

转载 C语言中手把手教你动态内存分配【转】

(转自:https://blog.csdn.net/qq_29924041/article/details/54897204?utm_source=blogxgwz13)C语言中手把手教你动态内存分配动态内存分配常见的内存分配的错误先上一个内存分配的思维导图:便于联想想象,理解: 首先我们介绍一下内存分配的方式:1:在静态存储区域中进行分配 内存在程序编译的时候就已经...

2018-10-23 11:25:58 191

转载 常见的内存错误【转】

(摘自:https://blog.csdn.net/qq_29924041/article/details/54897204?utm_source=blogxgwz13)常见的内存错误:段错误使用未分配成功的内存避免方式:在使用内存之前检查指针是否为NULL;引用分配成功但尚未初始化的内存避免方式:赋予初值,即便是赋予零值也不可省略内存分配成功并且已经初始化,但操作...

2018-10-23 11:25:47 152

转载 又是考查内存对齐和指针理解, 简单东西。【转】

(转自:https://blog.csdn.net/stpeace/article/details/77800139)如下: 又是考查内存对齐和指针理解, 简单东西。#include <iostream>using namespace std; #pragma pack(4) struct X{ int a; char b[3]; short c; ch...

2018-10-23 11:25:33 113

转载 C++静态成员函数和静态成员变量【转】

(转自:https://blog.csdn.net/hackerose1994/article/details/50816817?locationNum=10&amp;amp;fps=1)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 在C++中,静态成员是属于整个类的而不是某个对象,静态成员变量只存储一份供所有对象共用。所以在所有对象中都可以共享它。使用静态成员变量实现多个对象之间的数据共享不...

2018-10-23 11:25:06 263

翻译 C++静态成员变量和静态成员函数使用总结【转】

(转自:https://blog.csdn.net/fanyun_01/article/details/51422357?utm_source=blogxgwz0)C++静态成员变量和静态成员函数使用总结:一.静态成员变量:类体中的数据成员的声明前加上static关键字,该数据成员就成为了该类的静态数据成员。和其他数据成员一样,静态数据成员也遵守public/pr...

2018-10-23 11:24:52 133

转载 linux core dump 文件 gdb分析【转】

(转自:https://www.cnblogs.com/bodhitree/p/5850212.html)core dump又叫核心转储, 当程序运行过程中发生异常, 程序异常退出时, 由操作系统把程序当前的内存状况存储在一个core文件中, 叫core dump. (linux中如果内存越界会收到SIGSEGV信号,然后就会core dump)在程序运行的过程中,有的时候我们会遇到Seg...

2018-10-22 14:52:23 156

转载 关于valgrind的安装和内存泄露分析【转】

(转自:https://blog.csdn.net/pbymw8iwm/article/details/42522477)程序的安装如果使用的是tar包安装. valgrind# wget http://valgrind.org/downloads/valgrind-3.9.0.tar.bz2# tar -jxvf valgrind-3.9.0.tar.bz2# cd valgrind-3.9...

2018-10-22 14:50:19 108

转载 11条最全面的C/C++编码规范总结【转】

(转自:https://blog.csdn.net/zang141588761/article/details/50608736)对于不同的编程语言来说,具体的编码规范可以有很大的不同,但是其宗旨都是一致的,就是保证代码在高质量完成需求的同时具备良好的可读性、可维护性。例如我们可以规定某个项目的C语言程序要遵循这样的规定:变量的命名,头文件的书写和#include 等等。下面是一些广为采用...

2018-10-22 14:44:35 151

转载 强大的linux tool------valgrind的简介以及安装【转】

(转自:https://blog.csdn.net/stpeace/article/details/61620301?utm_source=blogxgwz2)valgrind是linux下的一个强大工具, 其子工具(通过toolname参数来控制)主要有:1、memcheck:检查众多内存问题,如泄漏、越界、非法指针, 我们将一一介绍。 (如果省略toolname, ...

2018-10-22 14:32:51 303

转载 ./configure --prefix --with解释【转】

(转自:https://blog.csdn.net/mengzuchao/article/details/78907900)linux下,源码的安装一般由3个步骤组成:配置(configure)、编译(make)、安装(make install)过程中用到./configure --prefix --with;其中--prefix指的是安装路径,--with指的是安装本文件所依...

2018-10-22 14:24:09 511

转载 gdb 查看堆栈信息、加载core文件、连接到其它进程【转】

(转自:https://blog.csdn.net/zhangzheng0413/article/details/7569364?utm_source=blogxgwz2)当程序被停住了,你需要做的第一件事就是查看程序是在哪里停住的。当你的程序调用了一个函数,函数的地址,函数参数,函数内的局部变量都会被压入“栈”(Stack)中。你可以用GDB命令来查看当前的栈中的信息。一、gdb 查看堆...

2018-10-22 14:04:29 1353

转载 gdb调试(四)函数调用栈之Backtraces【转】

(转自:https://blog.csdn.net/yangzhongxuan/article/details/6911689)通过产看栈信息,我们可以了解栈内帧的编号或地址,通过选择帧我们可以移动到指定的帧内去产看信息。1、查看栈信息产看函数调用栈的几个函数bt显示所有的函数调用栈帧的信息,每个帧一行。bt n显示栈定的n个帧信息。bt -n...

2018-10-22 11:48:44 733

转载 Linux下查看某一个程序运行所占用的内存【转】

(转自:https://blog.csdn.net/rickiyeat/article/details/70230253?utm_source=blogxgwz0)第一种方式top -p 进程号[yzy@node3 micro-service]$ top -p 20490top - 16:50:32 up 6 days, 2:18, 1 user, load average...

2018-10-22 11:07:12 1412

转载 Linux如何查看当前占用CPU或内存最多的几个进程【转】

(转自:https://blog.csdn.net/u013181648/article/details/68941971?utm_source=blogxgwz1)1. ps命令ps -aux | sort -k4nr | head -N*命令详解:1. head:-N可以指定显示的行数,默认显示10行。2. ps:参数a指代all——所有的进程,u指代userid——执行该进...

2018-10-22 11:03:01 3587

转载 delete 和 delete []的真正区别【转】

(转自:https://www.cnblogs.com/wangjian8888/p/7905176.html)c++中对new申请的内存的释放方式有delete和delete[两种方式,到底这两者有什么区别呢?1.我们通常从教科书上看到这样的说明:delete 释放new分配的单个对象指针指向的内存delete[] 释放new分配的对象数组指针指向的内存那么,按照教科书的理解...

2018-10-22 10:17:59 209

转载 C++中派生类重写基类重载函数时需要注意的问题:派生类函数屏蔽基类中同名函数【转】

(转自:https://blog.csdn.net/iicy266/article/details/11906697)派生类可以继承基类中的非私有函数成员,当然也就可以继承其中非私有的被重载的函数。如下:【参考代码】class Base {public: void print() { cout << "print() in Base." << ...

2018-10-21 15:14:55 2665

转载 C++标准库和标准模板库【转】

(转自:https://blog.csdn.net/rl529014/article/details/51154798)C++强大的功能来源于其丰富的类库及库函数资源。C++标准库的内容总共在50个标准头文件中定义。在C++开发中,要尽可能地利用标准库完成。这样做的直接好处包括:(1)成本:已经作为标准提供,何苦再花费时间、人力重新开发呢;(2)质量:标准库的都是经过严格测试的,正确性有保...

2018-10-21 14:26:32 373

空空如也

空空如也

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

TA关注的人

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