自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 资源 (4)
  • 收藏
  • 关注

转载 linux环境下使用gdb调试段错误

linux环境下使用gdb调试段错误

2017-08-27 13:35:06 2122

原创 宏定义中的"\"

宏定义的反斜杠后不能有空格

2017-08-26 15:28:16 1650

转载 以wifi-example-sim.cc为例说明NS3统计数据模型

利用NS3已有的Trace系统或者Log机制收集记录和统计数据,例如MAC层收发帧数目,网络层以上收发包数目的跟踪与统计,这里选取example/stats/wifi-example-sim.cc为例来很好说明问题

2017-10-19 10:39:01 1176

原创 NS3的ObjectFactory类

一个经常使用的创建对象的方法是:调用CreateObject(),在ns3中,也可以使用ObjectFactory类。

2017-10-18 19:45:21 1293

原创 NS3中的Ptr类

ns3中的类ns3是以c++的类为基础的系统,想要深刻理解学习ns3必须要学习它常用的类,以及类与类之间的关系。在ns3中,每个c++规则照样可以用,比如对象可以声明和实例化。总的来说,ns3中常用到c++的抽象,继承,封装,多态等概念。

2017-10-18 18:40:11 3031

原创 NS3的Callback例子讲解

以main-callback.cc为例,讲解Callback用法。

2017-10-18 09:20:03 2206

原创 NS3生成随机数

ns3可以产生随机数。 先把代码和运行结果展示一下:#include "ns3/core-module.h"#include "ns3/random-variable-stream.h"

2017-10-16 20:05:09 2781

转载 NS3命令行学习

NS3提供了一种通过命令行传递参数来输出和改变脚本中的变量。 在使用命令行机制时,一 首先要声明一个命令行类的对象然后调用其函数成员

2017-10-16 09:22:36 1457 1

原创 Ubuntu中利用GNUPLOT画NS3产生的数据

使用Gnuplot工具和类 绘制ns3的数据

2017-10-15 19:43:20 1752

转载 NS3目录结构和相关模块

NS3的目录结构和相关模块

2017-10-15 16:15:20 895

转载 ns3之PCAP tracing文件命名格式

我们需要了解一下ns3中*.pcap文件的命名格式。

2017-10-15 15:53:47 2584

原创 ns-3的c++代码规范

ns3的c++风格

2017-10-15 10:03:11 757

原创 Linux常见的压缩命令

Linux上常见的压缩命令就是gzip和bzip2,后者性能更好。compress不再流行。 tar功能仅是打包,把很多文件集

2017-10-12 19:16:03 4783 1

原创 Linux目录与文件的权限意义

文件权限对于一般文件和目录有何不同呢?

2017-10-12 10:59:29 1082

原创 Linux如何改变文件的属性和权限

chgrp : 改变文件所属用户组 chown : 改变文件所有者 chmod : 改变文件的权限

2017-10-12 09:14:58 1327

原创 重载,重写,重定义

(1)重载必须发生在一个类中 (2)重写必须发生在父类和子类之间,相同的函数原型 (3)重写有两种,加virtual->多态,不加->重定义一个程序说明

2017-09-24 15:49:24 302

转载 c++小项目(学生信息管理系统)

【程序阅读】阅读并运行下面的程序,找出其中出现构造函数、友元函数、运算符重载、静态数成员语法现象出现的位置,仔细体会其用法,在以后的设计中能够灵活应用有关方法和技巧.

2017-09-24 14:43:30 18718 12

转载 深拷贝和浅拷贝

浅拷贝 所谓浅拷贝,指的是在对象复制时,只对对象中的数据成员进行简单的赋值,默认拷贝构造函数执行的也是浅拷贝。大多情况下“浅拷贝”已经能很好地工作了,但是一旦对象存在了动态成员,那么浅拷贝就会出问题了

2017-09-20 20:18:11 295

原创 copy构造函数的三种调用时机

copy构造函数调用时机 1. 对象需要通过另外一个对象进行初始化

2017-09-20 19:01:49 530

原创 NS3 Tracing System

NS3 tracing系统的基本目标

2017-08-31 16:52:17 1032

原创 NS3 Logging Module 日志模块

一 概述日志 日志是快速获得脚本和模型的调试信息、警告信息、错误信息或者其他信息的首选。 NS3日志模块提供了一个直观的、相对简单的方法来获取仿真过程中的有用信息。

2017-08-31 14:23:55 1252

原创 ubuntu安装NS3

环境:UBUNTU16.04 64位 工具:NS3最新版NS3.25 步骤:

2017-08-29 20:30:53 1539

转载 makefile 中 $@ $^ %< 使用

这篇文章介绍在LINUX下进行C语言编程所需要的基础知识。makefile文件编写

2017-08-24 09:47:47 1349 1

原创 CS模型之服务器进程终止

现在我们启动我们的客户/服务器,然后杀死服务器子进程。这是在模拟服务器进程崩溃的情况,我们可从中查看客户将发生什么。

2017-08-17 11:46:03 603

原创 处理SIGCHLD信号(CS模型改进4)

在上篇博客提到的SIGCHLD信号就是由内核在任何一个进程终止时发给它的父进程的一个信号。那我们怎么处理僵死进程呢?处理僵死进程我们显然不愿意存留僵死进程。它占用内核空间,最终可能导致我们耗尽进程资源,无论何时我们fork子进程都要wait它们,以防止它们变成僵死进程。

2017-08-17 11:10:32 238

原创 TCP状态测试(CS模型改进3)

本文测试TCP的11中状态,更深入理解CS模型。尽管我们TCP程序很小,然而对于我们弄清客户和服务器如何启动,如何终止,更为重要的是当发生某些错误(例如客户主机崩溃,客户进程崩溃,网络连接断开,等等)时将会发生什么,本例十分重要。只有弄清这些边界条件以及TCP/IP协议的相互作用,我们才能写出能够处理这些情况的健壮的客户和服务器程序。

2017-08-17 10:26:24 416

原创 socket编程之解决流协议的粘包问题(二)

背景常见的应用层协议都是带有可变长字段的,字段之间的分隔符用换行'\n'的比用'\0'的更常见,如HTTP协议。可变长字段的协议用readn来读就很不方便了,为此我们实现一个类似于fgets的readline函数。

2017-08-11 15:16:38 468

原创 socket编程之解决流协议的粘包问题(一 )

流协议和粘包这么说吧,TCP在传输数据的时候,是不区分边界的(数据和数据之间没有边界),因为是基于字节流,所以数据对TCP来说就是一大堆没有结构区别的字节块。那意味着什么?意味着TCP并不能对多个数据的整体的信息进行区分(打个比方:就像是你说一堆话没有标点符号全部连在一起,别人很可能弄错)或者对单个整体信息的错误区分(比如你要发送的整块数据被分成了好几块发送,然后这些数据在传输过程中可能由于网络原因

2017-08-11 14:32:20 1419 1

原创 socket编程之点对点聊天程序

点对点聊天程序并解决上一篇中父进程退出,子进程不退出情况

2017-08-11 14:15:09 1628

原创 socket编程之并发服务器(CS模型改进2)

我们用fork实现并发服务器的核心代码:

2017-08-11 14:12:15 369

转载 SO_REUSEADDR用法

1、一般来说,一个端口释放后会等待两分钟之后才能再被使用,SO_REUSEADDR是让端口释放后立即就可以被再次使用。SO_REUSEADDR用于对TCP套接字处于TIME_WAIT状态下的socket,才可以重复绑定使用。server程序总是应该在调用bind()之前设置SO_REUSEADDR套接字选项。TCP,先调用close()的一方会进入TIME_WAIT状态。SO_REUSEADDR提

2017-08-11 14:08:31 1296

原创 基于linux系统的CS模型实现

(一) CS模型也就是TCP的客户/服务器模型,我们这里用一个简单的回射客户/服务器模型来进行模拟验证。客户发送数据,服务器接收到数据,并将数据原封不动的返回给客户端。

2017-08-11 11:00:57 1106

原创 通信信号与系统分析(四 基于simulink仿真)

Simulink是一个用来对动态系统进行建模仿真和分析的软件包,它提供了一种图形化的交互环境,易学易用,simulink是MATLAB下的一个软件包,在MATLAB主页菜单上有simulink库的按钮,打开simulink:

2016-09-28 20:22:17 9125 4

原创 通信信号与系统分析(三 模拟调制)

本篇讨论各种模拟调制与解调系统的性能,包括幅度调制(AM)和角度调制(包括频率调制(FM)和相位调制(PM))。

2016-09-28 10:32:26 6550 2

原创 通信信号与系统分析(二)

本篇主要介绍一下离散时间信号的基本运算。包括五部分,翻转运算,尺度变换,周期延拓,循环移位,卷积。

2016-09-27 23:41:24 1585 1

原创 通信信号与系统分析(一)

本篇主要分为两部分来阐述,分别为:离散信号和系统,Fourier分析。

2016-09-25 14:37:42 3437

转载 MATLAB的S文件编写

Part I:所谓s函数是system Function的简称, 用它来写自己的simulink模块. s函数可以用matlab、C、C++、Fortran、Ada等语言来写, 这儿我只介绍怎样用matlab语言来写吧(主要是它比较简单) < xmlnamespace prefix =”o” ns =”urn:schemas-microsoft-com:office:office” />先讲讲为什么

2016-09-12 21:00:18 2121 1

转载 STM32中GPIO的8种工作模式!

一、推挽输出:可以输出高、低电平,连接数字器件;推挽结构一般是指两个三极管分别受两个互补信号的控制,总是在一个三极管导通的时候另一个截止。高低电平由IC的电源决定。 推挽电路是两个参数相同的三极管或MOSFET,以推挽方式存在于电路中,各负责正负半周的波形放大任务,电路工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小、效率高。输出既可以向负载灌电流,也可以从负载抽取电流

2016-08-31 20:49:12 3587

原创 Linux多线程编程(初步)

1.Linux进程与线程Linux进程创建一个新线程时,线程将拥有自己的栈(因为线程有自己的局部变量),但与它的创建者共享全局变量、文件描述符、信号句柄和当前目录状态。Linux通过fork创建子进程与创建线程之间是有区别的:fork创建出该进程的一份拷贝,这个新进程拥有自己的变量和自己的PID,它的时间调度是独立的,它的执行几乎完全独立于父进程。进程可以看成一个资源的基本单位,而线程是程序调度的基

2016-08-24 14:09:14 488

原创 信号

(1)信号基本概念信号是linux所使用的进程间通信的最古老的方式。它采用中断机制,是一种异步通信的方式 。一个完整的信号周期包括三个部分,信号的产生,信号在进程中的注册,信号在进程中的注销,执行信号处理函数。(2)信号发送信号的发送通过kill函数和raise函数,两者的区别在于raise函数可以向本进程发送信号。 (a)kill:使用kill命令,向指定进程发送信号。1 #include <s

2016-08-24 08:42:48 417

神经网络与深度学习中文版

是学习深度学习,神经网络的一个非常的的教程,通熟易懂.

2018-09-03

笨方法学python(Learn Python the Hard Way中文第三版)

本书是一本Python入门书籍,适合对计算机了解不多,没有学过编程,但对编程感兴趣的读者学习使用。这本书以习题的方式引导读者一步一步学习编程,从简单的打印一直讲到完整项目的实现,让初学者从基础的编程技术入手,最终体验到软件开发的基本过程。

2017-11-05

C++小项目(适合初学者,含源代码)

c++小项目的文档,适合初学者,里边有源代码,设计思想

2017-10-01

polar码的SC译码算法matlab实现

本人写的polar码SC译码算法matlab程序,更多有关polar的资料请关注我的博客

2017-08-13

空空如也

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

TA关注的人

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