- 博客(68)
- 资源 (2)
- 收藏
- 关注

原创 博客迁移通知!
前言由于优快云的种种限制,加上前段时间我的账号密码无法登陆的问题,遂将博客迁至: roux.top。补充roux.top 本博客其实在很早以前就有了,但是考虑到国内外访问的速度和百度的爬取的问题,故没有正式的公布,仅当自己的一个记录的地方了。现在此博客已经部署了国内外双线,并且利用腾讯云加速以及国内CDN加速,访问速度已经可以满足正常的需求了,所以以后的所有博客都将迁往 ro...
2018-10-27 10:03:23
429
原创 wait函数和waitpid函数
wait函数和waitpid函数1. 僵尸进程说明子进程结束但是没有完全释放内存(在内核中的task_struct没有释放),该进程就会成为僵尸进程当僵尸进程的父进程结束后就会被init进程(1号进程)接管,最终被回收僵尸进程的危害如果你不处理僵尸进程的话,那么保留的那段信息就不会释放,其进程号就会一定被占用,但是系统所能使用的进程号是有限的,如果大量的产生僵尸进程,将因为没有可用的进程号而导
2017-09-12 22:31:26
1083
转载 Makefile
Makefile1. 说明简介 在软件开发中,make通常被视为一种软件构建工具。该工具主要经由读取一种名为“GNUmakefile”,“makefile”或“Makefile”的文件来实现软件的自动化建构。它会通过一种被称之为“target”概念来检查相关文件之间的依赖关系,这种依赖关系的检查系统非常简单,主要通过对比文件的修改时间来实现。在大多数情况下,我们主要用它来编译源代码,生成结果代码
2017-09-10 10:32:35
440
原创 进程的终止类别及方式
进程的终止方式1. 终止类别正常终止从main函数返回调用exit(标准c库函数)调用_exit或者_Exit(系统调用)最后一个线程从其启动例程(进程)返回 启动例程会搜集命令行参数给main传参,并搜集环境信息构建环境表给main函数,还会登记进程的终止函数在进程的main函数执行前内核会启动编译器在编译时会将启动例程编译进可执行文件中最后一个线程调用pthread_exit异
2017-09-09 14:29:07
653
转载 SQL Server 2012 SEQUENCE 使用
SQL Server 2012 SEQUENCE 使用1.说明缘由众所周知,在之前的sql server版本中,一般采用GUID或者 identity 来作为标示符,但是 identity 是一个表对象,只能保证在一张表里面的序列,当我们遇到以下情况时,表1: ID 订单类型 价格 1 火车票 200 4 飞机票 2000 5 船票 600表2:
2017-06-25 14:12:27
1819
转载 IDENTITY属性的使用详解
IDENTITY属性的使用1.创建查看IDENTITY创建 IF OBJECT_ID('test','U') IS NOT NULL DROP TABLE test GO CREATE TABLE test ( id int IDENTITY(1, 1), --如果直接写IDENTITY则默认为(1, 1) c1 ch
2017-06-25 11:57:41
13718
原创 C# DataGridView控件清空数据完美解决方法
C# DataGridView控件清空数据完美解决方法1.方法1在清除DataGridview的数据时的问题: DataSource为 NULL(DataGridView.DataSource=null;)这样会将DataGridView的列也删掉。 用DataGridview.Rows.Clear(); 提示“不能清除此列表”!!!!!以上都不是想要的结果。想要满足保持原有的列,就是重新
2017-06-14 23:00:34
29589
1
原创 从Google Chrome中删除“由企业策略安装的”扩展名
从Google Chrome中删除“由企业策略安装的”扩展名1.前言今天不小心点开了一个垃圾程序,然后就给我的Google Chrome安装了两个插件,其中一个是Cookies On-Off本来说手动删除就可以了,谁知道竟然显示是“企业策略安装”,无法删除。只能上网搜索,最终在国外的网站找到了解决方法:2.方法通过(Win + R)打开中 windows 的运行框,然后输入cmd命令,进入终端
2017-06-14 21:37:31
3236
原创 离别季,思念万里长
离别季,思念万里长岁月的脚步很轻,拂过青春的双翼。那些包裹的青春的花之殇,落入丹青壁画,独留一曲绝唱。青春在洋溢着风帆,大海在招摇着离船,我们虽相见恨晚,却也付出了一半青春,但,相见了,满是欢喜。欣慰爱情像花般美丽,行星般永恒,所以后来的日子,守候就成了温情的阳光。我们是一位播种者,梦想被沃土轻轻掩埋,等待收获一位似梦般的新娘,可,离别的音像一首悲歌,你不唱也有歌声回荡,
2017-06-10 21:14:41
404
原创 TCP四次挥手详解
TCP四次挥手1.前言关于 TCP 三握手以及后面文章用到的东西可以查看我的这篇博文:三次握手2.四次挥手所谓四次挥手(Four-Way Wavehand)即终止 TCP 连接,就是指数据传送完毕需要断开一个 TCP 连接时,需要客户端和服务端总共发送 4 个包以确认连接的断开。在 socket 编程中,这一过程由客户端或服务端任一方执行close来触发,整个流程如下图所示:由于 TCP 连接
2017-06-02 16:56:40
5106
1
原创 TCP三次握手详解
TCP三次握手与四次挥手1.TCP特性说明: TCP提供一种面向连接的、可靠的字节流服务 在一个TCP连接中,仅有两方进行彼此通信。广播和多播不能用于TCP TCP使用校验和,确认和重传机制来保证可靠传输 TCP给数据分节(给每一个传送的数据字节都编号)进行排序,并使用累积确认保证数据的顺序不变和非重复 TCP使用滑动窗口机制来实现流量控制,通过动态改变窗口的大小进行拥塞控制注
2017-06-01 18:58:03
5145
转载 listen函数
网络编程–listen函数1.分析问题:我们知道在网络编程中,listen接口是用来建立socket监听的,其参数只有两个。它的第二个参数是什么?三次握手中的半连接、完全连接在listen监听中充当着什么角色?函数原型:int listen(int sockfd, int backlog);当socket函数创建一个套接字时,它被假设为一个主动套接字,也就是说,它是一个将调用connect发起连
2017-05-31 21:07:43
2439
原创 函数顺序点分析和可变参数函数
函数分析1. 说明程序的内存布局 堆栈段在程序运行后才正式存在,是程序运行的基础 .bss段存放的是未初始化的全局变量和静态变量 .text段存放的是程序的可执行代码 .data段保存的是已经初始化了的全局变量和静态变量 .rodata段存放程序中的常量值,如字符串常量如图函数的活动记录 临时变量域:存放临时变量的值,如k++的中间结果 局部变量域:用来存放函数本次执
2017-05-20 15:58:52
361
原创 C语言动态内存申请
C语言动态内存申请1.malloc原型:void* malloc(size_t size) void free(void* pointer)说明: malloc分配的是一片连续的内存空间,以字节为单位,不带任何类型信息 malloc实际分配的内存比请求的稍微多一点 当请求的内存无法满足时,返回NULL 当free的参数为NULL时,函数直接返回示例:int main(){
2017-05-18 17:33:29
1521
原创 函数指针与回调函数
函数指针1.前言函数类型 函数有自己的特定类型,且由返回值、参数类型、参数个数共同决定(隐含了参数顺序) 例如:int add(int i, int j)的类型为int(int, int) 通过typedef为函数重命名typedef type name(parameter list) 例如:typedef int f(int, int)、ty
2017-05-17 20:40:50
327
原创 二维数组和二级指针
二维数组和二维指针1.前言本文所用到的部分基础知识可以查看此文: http://blog.youkuaiyun.com/xingerr/article/details/72372563说明: 二维数组在内存中按照一维的方式进行存储 二维数组中的第一维是一维数组 二维数组中的第二维是具体的值 二维数组的数组名可以看做是常量指针 array[2][4]根据选择不同可以为2行4列,也可以为4
2017-05-17 17:32:57
3531
原创 指针数组和数组指针
指针数组和数组指针1.前言数组 数组有自己的特定类型,由元素类型和数组大小共同决定 数组名的值是指针常量,也是数组第一个元素的地址 当数组名作为sizeof操作符或单目操作符&的操作数时,不用指针常量表示 arrary[2]等价于*(2 + (arrary))等价于*(arrary + 2)等价于2[arrary] 数组在个函数传参时会被弱化为指针指针
2017-05-17 12:42:01
610
原创 C语言#与##运算符的使用
#与##运算符的使用1.#运算符作用:进行字符串的转换作用域:只能在宏定义中使用示例:#define fun(x) #x //将x转化成为字符串//逗号表达式是从左往右进行计算#define CALL(f, p) (printf("Call function %s\n", #f), f(p))int square(int n){ return n * n;}int f1(in
2017-05-15 18:01:24
546
转载 centos配置yum源
1.备份原文件mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo_backup2.替换源文件cd /etc/yum.repos.d阿里云Linux安装软件镜像源阿里云Linux安装镜像源地址:http://mirrors.aliyun.com/CentOS系统更换软件安装源1):备份你的原镜像文
2017-05-15 16:47:02
513
原创 127.0.0.1和0.0.0.0分析
127.0.0.1和0.0.0.0一、说明:IP地址表示: 1.IP地址由两个部分组成,net-id和host-id,即网络号和主机号。 net-id:表示ip地址所在的网络号。 host-id:表示ip地址所在网络中的某个主机号码。 2.IP-address ::= { <Network-number>, <Host-number> }IP地
2017-05-15 16:24:15
956
原创 C语言void关键字
void关键字1.类型:void 是“空类型”。void 则为“空类型指针”,void 可以指向任何类型的数据。2.void作用: 对函数返回的限定 对函数参数的限定void a说明:因为void为无类型,在内存中偏移量为0,它声明变量a,a在内存中没有空间,所以无法定义且后面无法赋值从而报错。变量赋值条件: 1.”=”左边要指向一个有效的地址 2.”=”左边指向的有效
2017-05-15 15:10:30
1212
转载 TCP和UDP的135、137、138、139、445端口的作用
1.说明:如果全是2000以上的系统,可以关闭137、138、139,只保留445如果有xp系统,可能以上四个端口全部要打开无论你的服务器中安装的是Windows 2000 Server,还是Windows Server 2003,它们无一例外会在默认安装下开通135端口、137端口、138端口、139端口和445端口。这些端口可以说都是一把“双刃剑”,它们既能为你提供便利,也会反过来,被其他
2017-05-14 21:07:05
6698
转载 Socket描述符
Socket描述符1.说明:因为套接字API最初是作为UNIX操作系统的一部分而开发的,所以套接字API与系统的其他I/O设备集成在一起。特别是,当应用程序要为因特网通信而创建一个套接字(socket)时,操作系统就返回一个小整数作为描述符(descriptor)来标识这个套接字。然后,应用程序以该描述符作为传递参数,通过调用函数来完成某种操作(例如通过网络传送数据或接收输入的数据)。要点 当应
2017-05-14 10:18:38
1611
原创 结构体内存对齐
内存对齐1.说明:第一个成员起始于0偏移处每个成员按其指定大小和指定对齐参数n中较小的一个进行对齐 1.偏移地址和成员占用大小均需对齐 2.结构体成员对齐参数为其所有成员使用对齐参数的最大值结构体总长度必须为所有对齐参数的整数倍2.示例说明:示例1:说明:默认为#pragma pack(4),也就是按4个字节大小对齐struct test{ char c1;//大小
2017-05-11 21:53:47
227
转载 在C语言中,double、long、unsigned、int、char类型数据所占字节数
在C语言中,double、long、unsigned、int、char类型数据所占字节数1.说明:1.以防以后会用到。 2. 和机器字长及编译器有关系: 所以,int,long int,short int的宽度都可能随编译器而异。 3. 但有几条铁定的原则(ANSI/ISO制订的): 1.sizeof(short int)<=sizeof(int) 2.sizeof(int)<=si
2017-05-11 21:28:37
993
原创 #error和#line
#error和#line1.#error和#warning用法:#error message(不需要双引号包围)作用:#error自定义生成一个编译错误消息,并立即停止编译,#warning生成编译警告,不会停止编译。示例:#define NAME1 "NAME1"#define NAME2 "NAME2"//#define COMMAND "Hello"int main(){
2017-05-11 17:52:14
307
原创 数据库触发器操作
JY数据库触发器操作USE JYGO1.说明:作用:实现主键和外键所不能保证的复杂参照完整性和数据一致性结果: 触发器和引起触发器执行的语句会被当做一次事务处理,如果执行失败, 自动回滚至事务执行前的状态功能: 1.强化约束:能实现比check更复杂的约束,强制执行数据库中相关表的完整性 2.跟踪数据变化:撤销或者回滚违反了引用完整性的操作,防止非法修改数据 3.级联运行
2017-05-10 21:26:16
624
原创 C语言宏定义详解
宏定义0.前言本文章的程序是在linux下测试通过的本文的分析通过了下面的命令来查看预编译结果 gcc -E filename.c -o filename.i 这条命令的作用是生成预处理文件filename.i gcc -S filename.c -o filename.s 这条命令的作用是生成预编译文件filename.s
2017-05-10 19:55:32
799
原创 C语言条件编译详解
条件编译0.前言本文章的程序是在linux下测试通过的本文的分析通过了下面的命令来查看预编译结果 gcc -E filename.c -o filename.i 这条命令的作用是生成预处理文件filename.i gcc -S filename.c -o filename.s 这条命令的作用是生成预编译文件filename.s
2017-05-10 18:49:55
1296
原创 Sublime Text3--打造完美的Markdown编辑器
Sublime Text3–打造完美的Markdown编辑器注意:由于在前面已经讲过了插件的安装和一些配置、操作等,这里就不在赘述。 不了解的请移步:Sublime Text3–插件安装 1.所需的插件Markdown Editing 提供辅助提示,比如输入 ,编辑器应当自动补上一个 ,并使光标保持在两 * 之间, 又比如应当支持选中一段文字快捷键添加链接Markd
2017-05-10 13:22:09
6233
原创 数据库的创建与管理存储过程
JY数据库创建与管理存储过程USE JYGO1.说明:--存储过程优点/*1.提高系统运行速度(存储过程只在创建时编译,以后每次执行不用重新编译)2.提高系统开发速度(存储过程通过封装复杂的数据库操作简化开发过程)3.增强系统可维护性(存储过程可以实现模块化的程序设计,提供统一的数据库访问接口,提高可维护性)4.提高系统安全性(用户不能直接操作存储过程中引用的对象(有权限))5.降低网
2017-05-09 22:37:34
693
原创 C语言文件函数
C语言文件函数1.说明:t(text): 文本文件,可省略不写b(banary): 二进制文件+: 读和写name:要打开的文件的(路径)名字mode:要打开的文件的模式FILE:文件指针(结构体)打开方式mode说明:r :以只读方式打开文件,只允许读取,不允许写入。该文件必须存在r+ :以读/写方式打开文件,允许读取和写入。该文件必须存在rb+:以读/写方式打开一个二进制文件
2017-05-08 22:46:18
715
原创 解决锐捷校园网环境下VMware虚拟机无法上网问题
解决锐捷校园网环境下VMware虚拟机无法上网问题1.介绍:在介绍笨方法之前首先得说一下VMware虚拟机无法上网的原因,虚拟机要想要上网主机里的VMnetDHCP和VMware NAT Service就必须要开启,可能很多人都没留意这个问题,因为这两个服务好像装好软件之后是默认开启的,在其他网络环境下虚拟机直接选择NAT方式就可以上网了,所以网上请教很多大牛时他们对我们的虚拟机无法上网感到非常费
2017-05-05 14:47:43
2748
原创 mem函数源码
mem函数源码1.memcpy函数原型:void *memcpy(void *dest, const void *src, int count)作用:由src指定内存区域拷贝count个字符到dest所指定的内存区域。代码:void *my_memcpy(void *dest, const void *src, int count){ /*由src指定内存区域拷贝count个字符到
2017-05-04 16:08:41
617
翻译 遇见你在最美的流年
遇见你在最美的流年 作者:罗朝俊生命,是一个人来人往的过程,来是偶然的,去是必然的,这让我不禁想起席慕蓉的一首诗,叫《渡口》。让我与你握别,在轻轻抽出我的手... ...华年从此停顿,热泪在心中汇成河流... ...渡口旁找不到一朵相送的花,就把祝福别在襟上吧。而明日,明日又隔天涯... ...一生之中,我们总会经历许许多多的渡口,总会有一步三回首的依恋和不舍。而可以做到
2017-05-02 23:19:42
877
1
原创 C语言NULL和0的区别详解
C语言NULL和0的区别详解1.分析0 would digit zero, that is, a numerical value.'0' could be the character capital oh or the character zero. For example: char word[10] = "Oxford"; char number[10] = "01234";Dependin
2017-04-30 15:25:27
2621
原创 数据库视图操作
JY数据库视图操作USE JYGO1. 创建视图创建视图的原型:CREAT VIEW view_name[column_list][WITH ENCRYPTION]AS select_statement[WITH CHECK OPTION] –注释: –1.view_name:视图的名称 –2.column_list:视图使用的列表名。组成视图的列名或者全部省略或者
2017-04-21 15:01:59
1568
原创 数据库流程与控制
JY数据库流程与控制USE JYGO1. IF…ELSE语句显示两个数中较大的一个DECLARE @a int, @m intSELECT @n = 1, @m = 9IF(@n > @m) PRINT @nELSE PRINT @mGO2. CASE语句注释的语句为简单的CASE语句搜索CASE语句,查看变量值为10时对应的字符SET @n = 10SET @
2017-04-21 15:01:24
485
原创 数据库的索引
JY数据库的索引USE JYGO1. 创建索引--在reader表的reader_name列创建索引i_nameCREATE NONCLUSTERED INDEX i_nameON reader(reader_name)GO –注意事项: –1. 必须是使用SCHEMABINDING定义的视图才能创建索引,而且必须在视图上创建了唯一索引后, –才能在视图上创
2017-04-20 15:00:44
431
原创 数据库的查询与统计
——JY数据库查询与统计的使用——-1、SELECT用法<!--查询数据表制定列-->1.USE JY GO SELECT reader_name, reader_department FROM reader GO<!--取别名显示-->2.USE JY GO SELECT reader_name AS '姓名', reader_&department'院系' FRO
2017-04-20 15:00:28
2538
深入理解计算机系统(原书第2版)高清版.pdf
2017-09-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人