自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Brust Link

Coding,Reading,Thinking,Writing!

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

原创 如何在Linux实现自定义的errno

如何在Linux实现自定义的errno问题引入上个月我在知乎问了一个问题 如何用C实现一个简单的线程安全的errno? 然而因为项目的问题,最后不了了之了回顾再次回过头研究了这个问题,我还是对多线程了解的太少了。原来在posix pthread中还有pthread_once,pthread_create_key 这样神奇的函数实现:static pthread_key_t sdk_errno_m

2017-03-28 17:55:20 1754

原创 使用FFMPEG实现音频播放器

使用FFMPEG实现音频播放器导言因为公司项目的原因,要学习如何使用FFMPEG进行音频播放,折腾一圈发现,使用FFMPEG还真不是一件简单的事,更为可惜的是,当年在这方面的杰出人物—雷霄骅的英逝,这方面的文档愈发稀少,而FFMPEG相关代码不断更新,整理此文,算是对他的一种缅怀吧。FFMPEG简介 Q:FFMPEG是什么? A:FFMPEG是一个多媒体框架 Q:FFMPEG

2017-03-20 15:29:09 4949 4

原创 Git笔记

Git笔记常用命令创建git config: --gobal:全局设置user.name "Your Name":设置姓名usr,email "[email protected]":设置邮箱git init:创建新的版本库日常使用添加/提交git add:添加修改git commit:提交修改回退/删除git reset:重设当前分支 --hard:工作区和暂存区都改变HE

2016-09-18 19:23:07 350

原创 HTTP协议

HTTP协议基础内容介绍 HTTP协议(HyperText Transfer Protocol,超文本传输协议) 是用于从WWW服务器传输超文本到本地浏览器的传送协议。 它可以使浏览器更加高效,使网络传输减少。 它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。协议栈位置HTTP协议通常承载于TCP协议之上,有

2016-09-18 19:18:20 363

原创 TCP/IP Sockets-1

TCP/IP Sockets-1TCP-IPv4创建和销毁套接字创建套接字 int socket(int domain,int type,int protocol)参数domin:通信领域,常用参数:IPv4—AF_INET和IPv6—AF_INET6type:套接字类型,常用参数:可靠字节流语义—SOCK_STREAM,“尽力而为”—OCK_DGRAMprotocol:指定特定的端到端

2016-09-18 19:17:28 436

原创 操作系统

操作系统进程/线程进程是系统进行资源分配和调度的一个独立单位线程是进程的一个实体,是CPU调度和分派的基本单位实时系统主要特点是响应及时和可靠性高目标是对应特定的输入输出做出及时的响应临界区/访问冲突临界区: 每个进程中访问临界资源的那段程序称为临界区,每次只准许一个进程进入临界区,进入后不允许其他进程进入。访问冲突:有空让进: 当无进程在互斥区的时候,任何有权使用互斥区的进程可以进

2016-09-18 19:15:21 366

原创 Liunx常用指令整理-1

Liunx常用指令整理-1文件操作ls功能查看当前文件下的文件常用参数-a 输出所有文件-A 输出除./..之外的所有的文件-h 智能的表示文件的大小-l 以长格式的形式显示当前目录下的所有属性ls -l显示的具体内容第一行:当前目录下所有文件占用的大小的总和第二行:文件的属性字段硬链接个数文件的硬链接个数文件/目录的拥有者文件所有者所在的用户组文件所占用的大小(如

2016-09-18 19:14:36 268

原创 多线程编程

多线程编程线程同步互斥量特点互斥量本质上说是一把锁,在访问共享资源前对互斥量加锁,访问完成之后解锁互斥量加锁后,其余所有尝试加锁互斥量线程都会被阻塞,而有一个互斥量解锁,那么该锁上所有的线程都会变成可运行状态相关函数//初始化一个互斥量int pthread_mutex_init(pthread_mutex_t *restrict mutexm ,const pthread_mutexat

2016-09-18 19:13:42 312

原创 多线程编程

多线程编程线程特性线程—进程线程之间能够方便,快速的共享信息,但注意同步创建线程比创建进程快的多线程的数据类型 数据类型 描述 pthread_t 线程ID pthread_mutex_t 互斥对象 pthread_mutexattr_t 互斥属性对象 pthread_cond_t 条件变量 pthread_condattr_t 条件变量的属性对象

2016-09-18 19:12:04 262

原创 进程通信-2

进程通信-2信号信号名称非捕获就停止进程的信号 信号名称 说明 SIGABORT 进程异常终止 SIGALRM 超时警告 SIGFPE 浮点运算异常 SIGHUP 链接挂断 SIGILL 非法指令 SIGINT 终端中断 SIGKILL 终止进程(无法被捕获或者忽略) SIGPIPE 向无读进程的管道写数据 SIGQUIT

2016-09-18 19:11:24 308

原创 进程间通信-1

进程间通信-1进程相关知识启动新进程system定义#include<stdlib.h>int system(const char* string);作用 system 调用一个shell来启动想要执行的程序 system 可以放入后台执行 程序必须等待system函数启动的进程结束后才能继续 exec定义#include<unistd.h>int execl(const

2016-09-18 19:10:39 354

原创 坑爹的C语言

坑爹的C语言printf()只有在遇到(1)回车,(2)缓冲区满,(3)flush被调用才会输出逗号(,)表达式在初始化时没有表达式的意义printf()会返回输出的字符数printf()在类型不匹配的话会提升变量指向数组的指针不等于数组,int *p != int p[]switch会跳过case之前的东西sizeof在编译的时候就会执行,所以里边的东西不会执行宏指令#将变量改成字

2016-09-18 19:04:07 332

原创 C++重载与重写的各种问题

C++重载与重写的各种问题知识复习在探究C++虚函数造成的各种重写的问题之前,我们先复习一下C++中的函数重载1.const在函数重载中的定义对于下几种情况,哪几个算是函数重载呢?//情况1void fun(int a);void fun(const int a);//情况2void fun(int* a);void fun(const* a);//情况3void fun(int* a)

2016-09-12 11:10:44 577

原创 Liunx下文本处理

Liunx下文本处理grep命令用法主要用法:grep pattern_string filename1 filename2...命令参数: 参数 介绍 例子 -color=auto 标记处匹配到的单词 -E 不加这个参数,grep只解释匹配样式中默写特殊字符,此参数可以扩展正则表达式 grep -E “[a-z]+” filename -o 只输出匹配到

2016-09-11 11:03:34 278

原创 几种不同的diff格式

几种不同的diff格式正常格式命令diff file_1 file_2显示结果3c3< Ohh!----> Ohhh!表示源文件的第三行变成了目标文件的第三行3,4c3,4< Ohh!< Hi!----> Ohhh!> Who you are?表示源文件的第三到四行变成了目标文件的第三到四行4a5> Who you are表示在源文件的第四行添加一行变成了目标文件的第五行3d2<

2016-09-02 10:41:36 813 1

原创 Liunx下解决动态链接库符号未定义问题

Liunx下解决动态链接库符号未定义问题标签(空格分隔): 技术nm作用 列出二进制程序中的负号的值,符号类型和符号名称等用法-A 显示对象文件名称-C 显示程序中的原始名称-D 打印动态负号-u 打印那些未定义的符号符号类型 符号类型 涵义 A 该符号的值在以后的链接中不再改变 B 未初始化的全局变量 D 初始化的全局变量 T 表示全局非静态函

2016-08-30 16:48:51 6733

原创 Shell编程

Shell编程让.sh可执行修改文件属性chmod a+x xxx.sh添加注释在.sh脚本脚本中添加如下注释#!/usr/bash使用变量变量分类局部变量 局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量。环境变量 所有的程序,包括shell启动的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行。必要的时候shell脚本也可以定义环

2016-08-28 09:54:10 397

原创 数据库-索引

数据库-索引概述定义 索引本质是数据库管理系统用于加快查询速度,使用的一种与表有关的数据库结构。那么索引到底是什么呢?索引有两个层次的概念:数据库层次:比如Mysql里边的 普通索引,主键索引(无重复,非空),唯一索引(无重复),全文索引(对于文本很有用)实现层次:BTree,Hash索引都是将数据库概念的索引实现的具体方式,是一种数据库结构好处可以大大加快数据的检索速度,这也是创建索

2016-08-28 09:45:34 535

原创 Liunx常用指令整理-1

Liunx常用指令整理-1Liunx常用指令整理-1文件操作lscdmkdirtouchcpmvrmdirrmpwd文件操作ls功能查看当前文件下的文件常用参数-a 输出所有文件-A 输出除./..之外的所有的文件-h 智能的表示文件的大小-l 以长格式的形式显示当前目录下的所有属性ls -l显示的具体内容第一行:当前目录下所有文件占用的大小的总和第二行:

2015-12-02 23:49:37 416

原创 GCC知识整理

GCC知识整理GCC知识整理介绍支持文件格式编译选项错误提示选项参考介绍GCC是个不错的编译软件,就是这样了。支持文件格式 后缀名 文件类型 .c C语言源文件 .C/.cc/.cxx C++源文件 .m O-c源文件 .i 预处理过的C源程序 ..i 与处理过的C++源程序 .s/.S 汇编语言的源程序 .a/.so 汇

2015-11-26 22:34:18 456

原创 ACM - 数论模板

ACM Number ThearyACM Number ThearyEuclid求最大公约数求解线性不定方程Quick Pow求解大数乘法MNMOD快速求解数的N次幂快速求组合数组合数取模模方程求解逆元求解同余方程式大数测试Miller_Rabin大素数测试大数因数分解素数筛诶氏筛法欧拉筛法Euclid求最大公约数#include<iostream>using n

2015-11-03 16:44:22 1373

原创 ACM Function

ACM Function内存memset#include<cstring>void memset (void * Array,int Num,size_t size);//快速初始化排序qsort#include<cstdlib>void qsort(void * base,size_t size,size_t width,int(const void*,const void *));//快

2015-11-03 16:40:52 468

原创 ACM Attention

ACM Attention读题读题一定要仔细,尤其是样例很水的时候,直接看输入输出是一个坏习惯注意题目的时限和内存要求,对于某些问题,时限和内存得要求很特殊读题的时候最好讲题目表打成数学公式,有利思考大模拟之列最好画图标,简介的表示一下问题注意输出的格式,精度要求,和单词拼写思考没思路程序的范围基本已经暗示了本体用什么算法去做不妨多推几个样例,找找规律,有些题目可能就是找规律谢谢数

2015-11-03 16:34:23 944

原创 POJ-1426 Find The Multiple

状压

2015-11-03 16:27:34 835

原创 CF205E-Little Elephant and Furik and Rubik

预处理+构造

2015-09-10 10:33:25 1440 2

原创 POJ-2192 Zipper

POJ-2192 ZipperDP

2015-08-15 14:13:40 561

原创 LightOJ -kuangbin 数论

LightOJ数论题目小结题目这儿–[kuangbin]数学训练四 数论简单题解LightOJ 1007 Mathematically Hard 因为数据样例比较多,所以进行预处理.至于欧拉函数可以用线性筛选的方法(很棒,牢记!)LightOJ 1014 Ifter Party 题意是求大于某个数的因子,一般用暴力的枚举,效率为N−−√\sqrt N,sort之后输出就好了LightO

2015-06-09 16:22:57 2271

原创 LightOJ-1138 Trailing Zeroes (III) (二分搜索)

题目描述 You task is to find minimal natural number N, so that N! contains exactly Q zeroes on the trail in decimal notation. As you know N! = 1*2*…*N. For example, 5! = 120, 120 contains one zero on the

2015-06-02 20:47:43 1104

原创 NYOJ-整数中的1-找规律,迭代

题目描述 给出两个非负32位整型范围内的数a,b,请输出闭区间[a,b]内所有数二进制中各个位的1的总个数。输入 一行,给出两个整形数a,b(0<=a<=b<=150000000),空格分隔。输出 一行,输出结果样例输入 1 2样例输出 2思路来看0~7的二进制表示 0 1 10 11 100 101 110 111你发现什么了么?对于2~3就是在0~

2015-05-19 22:36:15 1263 4

原创 打造好用的Eclipse好用的代码补全

Eclipse好用的代码补全打开增强补全打开Eclipse—>Windows—>Preferences依据下图找到对应的选项将图中的Auto activation triggers for java:后边的输入框中写入如下内容:.abcdefghijklmnopqrstuvwsyzABCDEFGHIJKLMNOPQRSTUVWSYZ_图中多了一个”,请大家忽略. 实验一下,是不是感觉Eclipse

2015-05-12 15:22:59 1198

原创 Java-Java语言基础

介绍了JAVA语言的基础语法

2015-05-11 20:06:16 499

原创 数论-唯一分解定理

唯一分解定理唯一分解定理最小剩余定理定义推论模定理证明推论唯一分解定理证明存在唯一总结参考最小剩余定理 设aa和bb为整数,b>0b>0,则存在整数qq和rr,使得a=qb+r,0≤r<ba = qb + r, 0 \le r<b,使rr称为bb除aa所得的最小剩余真确性无需证明,根据定理有如下定义:定义当rr为0的时候,称bb为aa的因子,aa为bb 的

2015-05-04 21:34:32 1303 3

原创 NYOJ- 2 括号配对问题

括号配对问题描述 现在,有一行括号序列,请你检查这行括号是否配对。输入 第一行输入一个数N(0<N<=100)(0<N<=100),表示有N组测试数据。后面的N行输入多组输入数据,每组输入数据都是一个字符串S(S的长度小于10000,且S不是空串),测试数据组数少于5组。数据保证S中只含有”[“,”]”,”(“,”)”四种字符输出 每组输入数据的输出占一行,如果该字符串中所含的括号是

2015-04-26 17:04:54 1217

原创 STL-适配器-Stack

StackStack适配器头文件定义元素初始化操作成员函数样例输出适配器适配器就是将容器转换成一个满足设计的要求的容器,比如Stack(栈),就将顺序容器转换成满足FIFO的容器.除了Stack之外,适配器还有Queue和Priority Queues.头文件#include<Stack>定义元素stack<class> VerName; 定义的时候也可以指定stack的容器,但没有

2015-04-26 15:10:13 458

原创 本原勾股数组

本原勾股数组本原勾股数组勾股数本原勾股数组证明勾股数勾股数:指三个数A,B,CA,B,C满足以下性质:A2+B2=C2A^2+B^2=C^2.这三个也是构成直角三角形的三条边.本原勾股数组本原勾股数组:指勾股数中两两互质的勾股数,其他勾股数可以由其翻倍得出,为何是必定是两两互质的呢?证明假设BB与CC有公共因子nn,那么可得B=Kn,C=MnB=Kn,C=Mn,则A2=B2+C2=(Kn)2

2015-04-12 16:05:52 4935

原创 编程珠玑感悟<1>

编程珠玑感悟<1>编程珠玑感悟1第一章准确的描述问题解决问题习题感悟第一章准确的描述问题在我们解决一个实际问题的时候,直觉上也许我们觉得将问题抽象化也许会有点大费周章,但是我们若想将一个问题更精确的考虑,那么将问题抽象化便成为了必不可少的一步,将问题抽象化,实际上是将无关的线索抛弃,而着手于问题的核心和本质。抽象化如下:输入 一个做多包含n个整数的文件,每个数都小于NN,其中N=1

2015-04-03 22:39:12 537

原创 POJ-1004 Financial Management

POJ-1004 Financial ManagementDescription Larry graduated this year and finally has a job. He’s making a lot of money, but somehow never seems to have enough. Larry has decided that he needs to grab

2015-03-30 21:31:09 449

原创 灵光一现--寻找主元素

寻找主元素寻找主元素主元素的定义寻找主元素直接寻找改进排序后寻找灵光一现补充主元素的定义: 如果一个数组A[1..n]中超过半数的元素都相同时,该数组被称为含有主元素。寻找主元素那么如何寻找一个数组的主元素么?直接寻找虽然这是个笨方法,但笨方法也有他的好处:好懂,易写.定义不是说了么,数量超过一半的数就是主元素,那么我们统计每个数出现的次数不就好了.代码略这个算法的时间效率为O

2015-03-30 19:42:02 718

原创 算法导论笔记<2>

算法导论笔记目录:算法导论笔记2第三章 函数的增长1 渐进记号第三章 函数的增长3.1 渐进记号 Θ\Theta记号 Θ(g(n))={f(n):存在正常量c1、c2和n0,使得对于所有的n≥n0,有0≤c1g(n)≤f(n)≤c2g(n)}\Theta(g(n))=\{f(n):存在正常量c_1、c_2和n_0,使得

2015-03-24 23:01:44 703

原创 算法导论笔记<1>

算法导论笔记<1>算法导论笔记1第一章 基础知识第二章 算法基础1 插入排序2 分析算法3 设计算法第一章 基础知识略过第二章 算法基础2.1 插入排序 书中提到了循环不变式, 定义入下: 初始化:循环在某一次开始之前,它为真。 保持:如果循环的某次迭代之前它为真,那么下次迭代之前仍为真 终止:再循环终止时,不变式为我们提供一个有用的性质,该性质有助于证明

2015-03-22 20:59:39 481

空空如也

空空如也

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

TA关注的人

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