自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

无语的阿辉

知识永远是变化的!!

  • 博客(78)
  • 资源 (7)
  • 收藏
  • 关注

原创 notepad++安装十六进制插件Hex Editer

1.到如下网站下载Hex Editer工具https://sourceforge.net/projects/npp-plugins/files/Hex%20Editor/Hex%20Editor%20Plugin%20v0.9.5/2.将插件HexEditor.dll放到notepad++安装目录的plugins目录下。3.打开notepad++。如果需要查看文件的十六进制

2017-10-11 14:09:36 45009 8

原创 cpu独占和亲和性

1.可以通过设置isolcpus来设置独占,在机器启动的时候,线程默认不占用该CPU,但通过设置cpu亲和性可以占用该cpu.2.ubutun设置isolcpus的步骤:         2-1)修改/etc/default/grub文件,在GRUB_CMDLINE_LINUX_DEFAULT变量中田间isolcpus=3,对isolcpus的值如果有多个cpu,用逗号隔开。

2017-05-16 17:10:35 2604

原创 联合体、大小端模式

1、联合体联合体定义的关键字union,其成员使用低地址对齐,其默认占用的内存空间为最大基础类型的整数倍。2.大小端模式大端模式:数值的高字节保存到低地址内存,低字节保存到低地址内存。小段模式:数值的高字节保存到高地址内存,低字节保存到低地址内存。3.网络字节序网络采用大端模式。4.联合体计算计算机的字节序 union { int a; char b;

2017-03-02 10:46:09 716

原创 dpdk简介

DPDK全称是Data Plan Development Kit,是Intel开发的一套开源的工具,主要以IA(Intel Architecture)多核处理器平台为平台,实现高性能数据包处理。

2017-02-04 14:46:41 3974 1

原创 单生产者单消费者模式的无锁队列实现

#ifndef FIFO_H#define FIFO_Hstruct FIFO{ void **buffer; unsigned int size; unsigned int in; unsigned int out;};struct FIFO *FIFO_alloc(unsigned int size);unsigned int FIFO_put

2016-10-28 09:23:44 1455

原创 Linux进程间通讯(IPC)------FIFO

FIFO的特点FIFO相比于匿名管道,一个最大的特点是,其可以不用像匿名管道一样,只能在拥有共同祖先的进程间通讯,而是可以在任意的进程间通讯。FIFO和匿名管道相比还有一个大的区别为:FIFO在文件系统中有名称,可以像普通文件一样操作。其他大部分特点都和匿名管道一样,传输的数据都是流、半双工、对于数据小于PIPI_BUFSIZE的数据来说是原子性的、传输的大小也有限制。默认为阻

2016-07-16 16:38:33 463

原创 Linux进程间通讯(IPC)------匿名管道

匿名管道的特点数据是字节流。当从一个管道中读取数据时,除非一端写入数据或写端关闭,否则会处于阻塞状态。管道是单传输的,只能一端用于写,一端用于读,即是半双工的。管道只能在具有相同祖先的进程间进行通讯。当写入的数据小于PIPE_BUF字节时,那么写入操作是原子性的(就是要么全部数据连续写入,要么一个字节都没有写入)。这样可以确保多个进行写一个管道时,出现数据混乱问题。管道容量有限

2016-07-16 14:33:41 316

原创 Linux下MakeFile文件

makefile文件时Linux下用于编译规则,我们可以

2016-07-10 02:02:59 464

原创 mysql优化

最近在做一个项目,项目中有大量的数据数据需要实时存储在mysql数据库中,数据量大致在每秒几万条数据。并且需要对数据库的历史数据进行操作:用户通过配置条件进行组合查询;并对查询的结果进行统计和显示。

2016-07-10 00:55:20 300

原创 Linux下共享库搜索方式

在协议共享库依赖时,会检查依赖选项中是否有斜线(/)。如果有,那么会将其看成为路径,在该路径下加载共享库。如果没有协议,按一下方式搜索:      1)如果可执行文件的DT_RPATH运行时库路径列表中包含目录,但不包含DT_RUNAPTH列表时,那么在该包含目录中搜索改共享库。      2)如果定义了LD_LIBRARY_PATH环境变量,那么会依次搜索该环境变量包含的目录。但如果可执

2015-09-30 09:33:22 548

原创 for语句的执行顺序

for(e1;e2;e3)for语句首先执行e1,然后会执行e2进行判断,如果为false,结束循环,如果为true,执行for的语句块。然后会执行e3,接着通过判断e2.如此循环。

2015-07-27 12:01:32 1134

原创 软件出现没找到文件MSVCR100.dll或者没有找到MSVCP100.dll

开发软件过程中,平台改变时出现MSVCR100.dll没找到,项目中运用了VS2010开发了一些接口,系统安装VC2010运行库可以解决这个问题。

2014-12-05 10:40:42 1071

原创 TCP/IP协议一些重要内容

1.TCP相关保持活跃机制和心跳信号

2014-10-29 17:54:08 1175

原创 SQL Server

1.持久表和临时表。临时表分为局部临时表和全局临时表。临时表在数据库tempdb中创建。局部临时表存在于创建级别,当创建级别结束时,其也被销毁,在级别外无法访问。全局临时表存在于所有会话,当创建会话结束时,全局临时表被销毁,其他会话中的对其提交的所有语句都将结束,并释放它们保持的所有锁。2.局部临时表的名称以一个井号(#)为前缀。在SQL Server内部,临时表名称后面添加下划线和唯一的数字

2014-10-29 15:53:49 666

原创 SQL Server 数据库SELECT查询

1.SELECT的基本语法结构:SELECT [DISTINCT|ALL][TOP()[PERCENT][WITH THIS]][[colmn_name[AS 列名]],[.......]]|* FROM table_name[OUTER|LEFT|RIGHT|FULL|CROSS JOIN table1_name ON condition ][.........]WHERE co

2014-10-29 15:53:07 775

原创 T-SQL基本语句

在SQL Server中不区分大小写1、SELECT语句其语法结构规则如下:1.通配符“*”,表示所有列。1)WHERE子句          用于设定返回记录的限制条件。WHERE子句支持的运算符:=,>,=,,==,!,AND,OR,NOT,BETWEEN,LIKE(支持%、_、[]通配符),IN,SOME,ANY,ALL,EXISTS。2)ORDER BY子句

2014-10-29 15:52:45 1133

原创 ioctl函数

ioctl函数用于在套接字上控制套接字的I/O行为,同时获取与套接字挂起的I/O操作的有关信息。第一个ioctl函数是ioctlsocket,其起源于Winsock 1规范,其定义如下:int ioctlsocket( SOCKET s, long cmd, u_long FAR* argp;);s:为要进行I/O操作的套接字描述符。cmd:一个预定义的标志

2014-10-29 15:51:20 6658

原创 SQL Server事务和锁

一、事务       事务就是将一些列事情看成一个整体,这些事情要么一起完成,要么就不完成。在SQL Server中的每一条单独的SELECT、UPDATE、INSERT和DELETE语句都是一个隐式的事务。可以设置一系列语句当成事务的SQL 语句如下:BEGIN TRAN:设置事务的开始点;当事务回滚时,也是事务回滚点。COMMIT TRAN:使事务成为数据库永久的、不可逆转的一部分

2014-10-29 15:50:10 1698

原创 完成端口模型

完成端口模型步骤如下:1.调用CreateIoCompletionPort函数创建完成端口。HANDLE CompletionPort=CreateIoCompletionStatus(INVALID_HANDLE_VALUE,NULL,0,0);2.创建和处理器数目相等的工作线程SYSTEM_INFO SysInfo;GetSystemInfo(&SysInfo);for

2014-10-28 11:53:14 1974

原创 python入门学习

一、第一个python程序HelloWord.py print "Hello Word!"上面的一行代码保存为:HelloWord.py。我的python.exe的存储路径为:D:\Program Files\Python27\Python.exe。运行如下:点击开始运行,输入CMD,进入DOS命令行,输入以下代码:    D:\Progra~1\Python27\python

2014-03-05 18:06:24 705

原创 获取设备上下文

获取设备上下文有三种方法:BeginPaint、GetDC、GetWindowDC。       方法一:BeginPaint和EndPaint函数。BeginPaint函数适用在WM_PAINT消息中。使用这种方法可以自动将无效区域设为有效。默认情况下,调用BeginPaint函数时会自动将无效区域的背景擦出。但是要注意的时,我们调用InvalidateRect函数时,最后一个参数可以设置是

2013-12-04 22:14:15 2209

原创 线程同步

一、用户方式中的线程同步1.互锁函数       可以使用InterlockedExchangeAdd函数对一个长变量以原子操作的方式递增一个值:LONG InterlockedExchangedAdd( PLONG plAddend, LONG lIncrement);      可以使用InterlockedExchange和InterlockedExc

2013-11-28 23:44:02 1218

原创 CreateToolHelp32Snapshot函数获取系统快照

系统为我们在内存中指定了一个关于进程、线程、堆和模块等的当前状态信息副本-----系统快照,我们可以通过CreateToolHelp32Snapshot函数来获取系统快照的句柄,通过该句柄来获取当前状态信息。该函数如下:HANDLE WINAPI CreateToolhelp32Snapshot( DWORD dwFlags, DWORD th32ProcessID

2013-11-26 20:23:28 4156

原创 windows程序设计复习(一)

窗口创建过程1.注册窗口类       定义一个WNDCLASS结构体,对结构体进行初始化,然后调用RegisterClass函数注册该窗口类:typedef struct{ UINT style ;//窗口的类别 WNDPROC lpfnWndProc ;//窗口过程的地址 int cbClsExtra ;//窗口类别 int cb

2013-11-26 14:33:35 766

原创 线程二

一、线程的调度        window是抢占式多线程操作系统,也就是说一个线程可以随时停止运行,即不管这个线程是否已经消耗完自己的时间片,随后另一个线程可进行调度。线程的内核对象中使用线程上下文结构(CONTEXT结构)来保存自己线程运行时的CPU寄存器状态,当线程切换时,都会进行线程上下文切换。       在线程的内核对象中设定了一个暂停计数。当调用CreateProcess或Cr

2013-11-25 14:46:13 946

原创 线程一

线程由两部分组成:线程内核对象和线程堆栈。        每个进程至少有一个线程。当进程初始化时,系统就会创建一个主线程。该主线程随C/C++运行期启动代码一道运行,启动代码会调用进入点函数(main、wmain、WinMain或wWinMain),知道进入点函数返回,启动代码会调用ExitProcess结束进程为止。        你可以在主线程中创建辅助线程,这些辅助线程必须要有自己的

2013-11-24 18:29:02 983

原创 进程

进程常被定义为一个正在运行的程序的实例。其由两部分组成:1)用于管理进程的进程内核对象;2)一个地址空间,其中包括代码和数据,以及动态分配的空间。        进程是死的,它至少应该有一个主线程,该主线程可以创建其它线程。进程中的线程可以“同时”运行,因此每个进程都有自己的CPU寄存器和退栈。实际上,在某个时刻只有一个线程运行在处理上,操作系统给每个运行的线程一个时间片,这样就造成了多个线程

2013-11-24 12:22:46 1153

原创 内核对象

内核对象可以供系统和应用程序使用和管理各种各样的资源。内核对象只是内核分配的一个内存块,在该内存块中是一种数据结构,它的成员用于维护该内核对象的各种信息,个内核对象的数据结构不完全相同,并且只有内核才能直接访问该数据结构。 windows提供了一组函数,用于对这种数据结构进行操作。当我们调用函数创建内核对象时,该函数会返回一个标识该对象的句柄。通过将该句柄值传递给各个函数,即能够操作该内核对象。内

2013-11-18 12:40:29 661

原创 Unicode

Unicode的全部字符都占用两个字节。1.C运行库对Unicode的支持  定义了一个wchar_t类型代替char类型来支持Unicode字符串:        typedef unsigned short wchar_t;   定义了一些以wcs开头的函数来支持Unicode,下面前面为ANSI C字符串函数,后面为Unicode函数:char *strcat(char

2013-11-17 22:21:21 936

转载 windows下socket编程:区分shutdown()及closesocket()

以下描述主要是针对windows平台下的TCP socket而言。首先需要区分一下关闭socket和关闭TCP连接的区别,关闭TCP连接是指TCP协议层的东西,就是两个TCP端之间交换了一些协议包(FIN,RST等),具体的交换过程可以看TCP协议,这里不详细描述了。而关闭socket是指关闭用户应用程序中的socket句柄,释放相关资源。但是当用户关闭socket句柄时会隐含的触发TCP连接

2013-11-17 12:42:12 2199

转载 SQL Server游标使用

游标是邪恶的!       在关系数据库中,我们对于查询的思考是面向集合的。而游标打破了这一规则,游标使得我们思考方式变为逐行进行.对于类C的开发人员来着,这样的思考方式会更加舒服。       正常面向集合的思维方式是:              而对于游标来说:             这也是为什么游标是邪恶的,它会使开发人员变懒,懒得去想用面向集合的查询方式实

2013-11-14 12:17:36 808

原创 SQL Server触发器

触发器是一类特殊的存储过程,只有到特定事件发生时在会调用。触发器有两种类型:数据定义语言(DDL)触发器和数据操纵语言(DML)触发器。一、DDL触发器二、DML触发器        DML触发器是附加到特定表或视图的代码片段。只有当附加到表的事件发生时,触发器代码才会自动执行。触发器不能够显示调用。DML触发器的类型:1)INSERT触发器;2)DELETE触发器;3)UPDATE触

2013-11-10 14:43:37 678

原创 SQL Server约束

约束可分为3类:实体约束、域约束和参照完整性约束。实体约束有:CHECK约束、规则、默认值和DEFAULT约束。域约束用于处理一个或多个列。域约束有:主键约束和唯一约束(替换键)。实体约束是关于每一行。参照完整性约束有:外键约束。如果某列的值需要与其他列(可不在同一表中)相匹配,则就需要创建参照完整性约束。一、键约束键约束有主键约束、外键约束和替换键约束。1.主键约束主

2013-11-09 00:56:53 1306

原创 SQL SErver存储过程和用户自定义函数UDF

一、创建存储过程 存储过程可以输入参数、输出参数和返回值。其基本语法如下:eg:CREATE PROC myProc AS SELECT * FROM myTable;二、使用ALTER修改存储过程ALTER修改存储过程和视图的ALTER的工作原理一样,其不能修改存储过程的权限,并且保留了依赖关系;三、删除存储过程其语法如下:四、参数化声明参数的四个

2013-11-06 15:54:54 1687

原创 SQL Server脚本编写和批处理

1.USE语句用于设置当前的数据库2.声明变量DECLARE语句的语法格式如下:可以一次声明一个变量,也可以一次声明多个变量。如果声明变量时,没有初始化变量,那么其值为NULL。设置变量的值有两种方式:1)使用SET设置变量   eg: SET @total=100;         SET @ti=@total*100;         SET @ds=(SE

2013-11-06 12:43:31 2600

原创 SQL Server视图

1.创建视图视图是一个存储查询,其用于混合和匹配基本表的数据。其语法结构如下:WITH ENCPYPTION:用于对视图进行加密,这样就不能够获取视图的代码。WITH SCHEMABINDING:设置这个选项后,就可以创建视图索引了。WITH VIEW_METADATA:使视图项表一样。WITH CHECK OPTION用于规定:插入和删除的行必须满足视图中SELECT

2013-11-05 18:22:16 1573

原创 SQL Server索引

一、SQL Server存储机制1.数据库:数据库是最高级别的存储机制。2.区段:区段是用来为表和索引分配空间的基本存储单元。它由8个连续的64k数据页组成。对于新记录,内存空间的每次分配的是一个区段。区段是建立在数据库的基础上的。3.页:页是特定区段中的分配单元,每个区段由8个页组成。4.行:行最大为8kb。每行最多包含1024个标准行(非稀疏列)。5.稀疏列:二、索引

2013-11-05 17:06:57 1112

原创 套接字选项

getsocketopt获得与给定套接字相关的相关信息。其定义如下:int getsocketopt( SOCKET s, int level, int optname, char FAR* optval, int FAR* optlen);s:其为一个给定的套接字,这个套接字必须有效level:为一个选项

2013-10-30 13:56:41 4976

原创 Winsock I/O方法

Winsock分别提供了套接字模式和套接字I/O模型。套接字模式分为阻塞模式和非阻塞模式。Winsock I/O模型:select(选择)、WSAAsyncSelect(异步选择)、WSAEventSelect(事件选择)、Overlappe I/O(重叠I/O)、Cpmpletion port(完成端口)。

2013-10-28 18:17:20 1841

原创 Winsock中名称解析和地址解析

随着IPv6添加了两个既能解析IPv4又能解析IPv6的函数:getnameinfo和getaddrinfo。这两个函数定义在头文件WS2TCPIP.H。1.getnaddrinfo其提供独立于协议的名称解析。其定义如下:int getaddrinfo( const char FAR *nodename, const char FAR *servrname,

2013-10-27 13:47:36 3473

Matrikon.OPC.Simulation.1 MATRIKON.OPC 1.11.1

Matrikon.OPC.Simulation.1 MATRIKON.OPC 1.11.1

2017-07-25

C++标准程序库..

C++标准程序库..非常值得学习的东西、欢迎大家下载!

2012-09-09

C函数,几本专讲函数的书

几步专讲函数的书。其实函数不需要全部记住,只需了解就可以了,具体用到时在查书。

2011-07-10

TCP/TP协议讲解和鹅鹅鹅鹅鹅鹅鹅鹅鹅饿饿

没什么东西可以上传,随便找了点东西,重重数吧!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!111111111111111111111111111111111111111111111111111111111111111111111111111

2011-06-24

几种比较常用的排序,简单实用

闲着没事做,自己写了几个比较常用的算法,也是必须掌握的集中算法!!!也很简单!!!

2011-05-29

空空如也

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

TA关注的人

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