自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zhcosin的专栏

从工具的奴隶到工具的主人

  • 博客(23)
  • 资源 (4)
  • 收藏
  • 关注

原创 证明 1+1/2+......+1/n不是整数

闲来无事翻翻初等数论,顺便编写习题解答,全当是学习数论的同时练习LaTeX了,不想第一节的最后一道习题就难住了,苦思良久无果之后,群里有同行在《初等数论100例》中竟然找到了该题,我大体看了下它的证明,可读性不太理想,但思路倒是记住了,今天无聊顺手整理一下。求证 1+12+⋯+1n1+\frac{1}{2}+\cdots+\frac{1}{n} 不是整数。证明: 对正整数ii,将它的因数中的2全部分

2015-10-06 16:24:48 7203 3

原创 实现一个微型的日志库

序言对一个服务端程序来说,日志是用于发现系统问题,诊断系统运行情况的一个重要工具,所以日志库的设计要以帮助跟踪程序运行状态为宗旨,这篇文章来源于最近我在一个通信协议库中所写的一个微型的日志组件,总共也就两百来行代码,实现了日志的搜集、过滤、输出功能。日志库的功能一个日志库,应该把来自于程序各个部分的日志信息搜集起来,按照一定的过滤规则(通常是按日志级别过滤),将通过过滤的日志信息输出到指定的目标地点

2015-09-07 22:31:04 1426

原创 利用模板偏特化实现编译期断言

利用模板偏特化实现编译期断言断言在C/C++语言中的作用有目共睹,但它只能在运行期起作用,有时可能会希望在编译期检查某个条件,不成立就产生一条编译错误信息,比如你写了一个模板,但是希望模板的参数只能是整数类型,用其它类型对模板进行实例化时干脆让它通不过编译,怎么样,听起来是不是很酷?利用模板的偏特化,轻轻松松就能实作出来,请看:template<bool>compile_assert;templa

2015-09-02 22:45:25 992

原创 椭圆极点极线初探

椭圆乃中学数学的一项重要内容,其形状之优雅大概迷倒了不少青春少年,然而除了欣赏其外观之美外,作为学生还应该发掘其内在之美,即数学美。本文就椭圆的一些问题作一概要叙述。椭圆曲线将其所在平面分成了三个部分:椭圆内部、椭圆曲线上、椭圆外部,对于椭圆曲线上的点,正如大家所熟知的,它们的坐标都满足椭圆的方程: x2a2+y2b2=1 \frac{x^2}{a^2}+\frac{y^2}{b^2}=1

2015-08-10 20:32:35 24749 2

原创 MinGW 使用 mintty 终端替代默认终端以解决界面上复制与粘贴的问题

使用了一段时间的 cygwin,挺开心的,又尝试了下同类工具 Msys + MinGW,安装好之后发现它居然使用默认的 cmd 作为终端,界面输出的复制与粘贴极其不便,我记得 Cygwin 使用的是 mintty 的终端,没有这个不便,于是打开 msys.bat 瞧了一眼,发现下面这段文本这说明 MinGW 是可以使用 mintty 终端的,内心一喜,立即更换,先给它下载安装 mint

2015-08-09 16:29:20 5522

原创 VirtualBox利用启动优盘安装虚拟机

近日需要在 VirtualBox 下安装一个 ubuntu 系统的虚拟机,但手头没有 ubuntu 的 ISO 镜像文件,但以前做过一个 ubuntu 的启动优盘,可以用来安装系统的,于是在网上搜了一下,还真可以,与用 ISO 镜像文件安装相比,就多一步,就是要先创建一个指向优盘的虚拟硬盘,然后在虚拟机的存储器中添加这个虚拟硬盘(而不是 ISO 镜像文件),然后启动虚拟机就可以开始安装了,下面是创

2015-07-27 19:57:00 9490

原创 [倚天屠龙记] vim 查找与替换(正则表达式)

[倚天屠龙记] vim 查找与替换(正则表达式) {{{        正则表达式是文本处理领域中的一个强大的工具,它可以让文本处理的能力呈指数级的提升,如果一款文本编辑器不支持正则表达式,那么它就算不上是一个现代化的编辑器,这绝非虚言。        正则表达式是模式匹配的高峰,它用一些特殊符号代表一些特殊意义,例如用星号代表它前面的元素可以出现任意次数(包括零次),用[0-9]

2015-06-06 16:46:25 2569 1

原创 [倚天屠龙记] vim 查找与替换(简单替换)

[倚天屠龙记] vim 查找与替换(简单替换) {{{        厌倦了小说式的叙述方式,现在换一种方式来总结vim的替换功能,跟查找一样,本文只讲述最基本的替换,不牵扯到正则表达式,相关的帮助文档是:help :s。        vim中用于替换的通用命令如下:        :[range]s/{pattern}/{string}/[flag]        这个命令中,

2015-06-06 16:11:02 1402

原创 [倚天屠龙记] vim 查找与替换(简单查找)

[倚天屠龙记] vim 查找与替换(简单查找) {{{        搜索与替换是文本编辑器的最重要的功能之一,也是编辑器能力的一个缩影。        接下来用几节的篇幅重点叙述vim的查找与替换功能。        这一节只讲述vim的简单搜索功能,所谓简单,是相较于后续章节的正则表达式和高级查找替换而言的,这一节的主要内容是:基本的搜索命令/和?,单词搜索命令*和#,循环搜索,高

2015-06-04 17:57:14 3319

原创 [倚天屠龙记] vim 折叠

这一节讲述vim的一个非常实用的功能----折行功能,它可以将暂时不关心的连续若干行折叠成一行显示,在需要时可以进行展开。下面这是本文写作时的情形:                折叠的主要创建方式有手工创建、语法折叠、按缩进等级折叠、按起止标记折叠。要查看折叠的帮助请输入:help fold。        折叠相关的命令大都以字母z打头,这个字母本身给人以一种折叠的印象。

2015-06-01 19:26:35 1260

原创 [倚天屠龙记] vim 标记

像adobe reader这样的pdf阅读器在窗口左侧有一个书签栏,其中列出了pdf文件的目录结构,以方便在pdf文件的章节目录中进行快速跳转。无论是pdf的阅读器还是其它的普通文本编辑器,通常都有一个历史文件列表,其中记录了最后若干次打开的文件,以方便用户快速的查看最近查看过的文件。类似的功能vim自然也有,这就是它的标记功能。vim的移动命令已经相当丰富和灵活,在标记功能的帮助下,你浏览文

2015-06-01 19:18:38 1184

原创 [倚天屠龙记] vim 复制与粘贴

对于任何一款文本编辑器而言,复制与粘贴都是最基本的功能,vim在此方面自然不甘示弱。事实上,得益于其丰富的移动命令,vim的复制与粘贴是相当快捷而高效的。vim的复制命令是y和Y,它是yank的简写,粘贴命令是p和P,是paste的缩写。y可以复制任何文本块,而Y是整行整行的复制,p是粘贴到光标之后,P是粘贴到光标之前。要查看这两个命令的帮助请分别输入:help y和:help p。y命令

2015-05-29 13:55:47 1273

原创 [倚天屠龙记] vim 开篇

武林至尊,宝刀屠龙,号令天下,莫敢不从!倚天不出,谁与争锋?        vim与emacs两大编辑器之间的圣战由来已久,似乎也看不见和平的希望。vim自称编辑器之神,而emacs则自封神之编辑器。vim以快捷高效的键盘操作著称,emacs则凭借强大的脚本语言elisp号称扩展性世界第一。vim用户吐槽emacs烦琐的组合键操作方式,emacs社区则鄙视vim的多模式切换。vim和e

2015-05-28 19:29:45 1391

原创 cygwin的安装与配置

百度百科是这样介绍cygwin的:        Cygwin是一个在windows平台上运行的类UNIX模拟环境,是cygnus solutions公司开发的自由软件(该公司开发的著名工具还有eCos,不过现已被Redhat收购)。它对于学习UNIX/Linux操作环境,或者从UNIX到Windows的应用程序移植,或者进行某些特殊的开发工作,尤其是使用GNU工具集在Windows上进行嵌入

2015-05-27 20:09:44 3085

原创 [倚天屠龙记] vim 光标移动(入门)

我喜欢上vim的重要因素之一就是vim快速而精准的移动定位能力,就目前所流行的众多编辑器之中,无出其右者。最基本的移动命令是 h j k l,分别代表向左下上右四个方向移动一个字符,效果等同于四个方向键,在vim诞生的那个年代,键盘上还没有方向键的设置,所以vim的作者就用了右手高频键区的这四个键代替,在今天看来,这四个键仍然优于方向键,因为右手手指无需离开高频键区。h和l命令在默认情况下,光

2015-05-26 19:38:43 1177 1

原创 函数 bind 原理初探(一)

对函数绑定的原理进行了简单实现。

2014-03-05 16:09:48 2175

原创 C语言字符串分割函数

自己写了一个字符串分割函数,可以根据提供的分隔符串列表将指定的字符串分割为若干个字符串,分隔符可以是单个字符也可以是字符串,可以设定是否压缩分隔符串(即当两个或者两个以上分隔符串连续出现时不生成空串),也可以设定是否把查找到的分隔符串也插入到结果中。需要注意的是结果是动态分配的内存,使用完毕后需要自己释放。#include #include #include /** * Split

2013-01-23 16:40:40 1323

原创 计算器 abacus 2 发布

计算器 abacus 2 今日发布了. 下载网址 http://www.oschina.net/code/snippet_736932_13725, 技术文档网址:http://my.oschina.net/zhcosin/blog?catalog=254400      abacus 是一个简易的、可扩展的、开源的小型计算器,支持四则混合运算和众多的数学函数,如三角函数和组合数等,支持符

2013-01-09 16:10:18 1426

原创 计算器 abacus 技术文档(一)----初步设计

=======================================计算器 abacus 的下载地址:http://www.oschina.net/code/snippet_736932_13725      如果你有关于 abacus 的问题或者建议,请发邮件至 [email protected]。谢谢。=============================

2012-12-20 19:59:51 1287

原创 C语言内存管理(初级)----链表

上一篇文章里实现了二维动态数组的创建和销毁,现在来看一个稍加复杂一点的实例:链表,读者需具有链表的基本知识,本文的链表实现与读者所熟知的实现有一些差异。    假定我们要写一个计算器程序,它接受一个字符串形式的表达式,然后计算并输出其结果,我们先要解决的是它的词法分析部分,这是一个把输入的字符串分割成若干基本的表达式元素的过程,这些表达式元素包含运算符、运算数、括号,各自具有不同的属性,比如运

2012-12-15 22:21:02 2425 1

原创 C语言内存管理(初级)----动态数组

C 语言提供的指针使我们可以直接操纵内存,在带来巨大灵活性的同时也带来了巨大的安全隐患。随着程序规模的增大,管理内存的难度也大为增加,内存管理应该说是一项艰巨任务。      C 语言引起的内存问题都是没有正确使用和维护内存造成的,比如 C 语言初学者可能会写出下面的代码: char *p;strcpy(p, "hello world!");这样的程序会直接崩溃掉,因为字符指针 p

2012-12-09 20:07:31 2436

原创 计算器 abacus 1.0 发布

近因王垠《从工具的奴隶到工具的主人》一文所感召,创作之心大起,遂作一计算器,取名于算盘: abacus,乃发布于此社区,见于 http://www.oschina.net/code/snippet_736932_13725 ,其何妙之有,待我娓娓道来:    1. 支持常规四则混合运算    2. 支持众多的数学函数,关于函数的列表,请查看软件帮助    3. 支持符号常量,如圆周率与

2012-09-20 13:39:27 996

原创 vim 的关于一些自动输入的配置

作为编辑器之神, vim 的键映射功能非常实用,在写代码的时候,经常需要输入各种括号,比如函数参数的小括号,数组下标的中括号,函数体的大括号等等,为了避免遗漏右括号,通常都是先输入一对括号再定位到括号内去添加内容的。但 vim 是有模式的编辑器,输入一对括号后要定位到括号内比较麻烦,要么移到使用方向键,这会使手偏离主要键区,要么按 换到命令模式再按 i 进入插入模式,这时光标就位于括号内了,这个

2012-09-20 13:26:23 993

30分钟快速上手Emacs(初级).txt

这个比 emacs 自带的 tutor 更容易阅读,更容易让你有兴趣读下去.

2015-08-21

Boost 程序库完全开发指南

boost 是 C++ 所谓的“准标准库”,是 C++ 标准库的实验场,其所提供的智能指针 shared_ptr 已经被收入 C++ 的新标准。boost 包含大量设计精巧、功能强大、性能卓越的组件,如智能指针、函数对象、lambda表达式、线程、文件系统、网络、状态机、模板元编程等。C++ 程序员在 boost 上的耕耘,必可获得丰厚的回报。

2015-08-21

计算器abacus2

abacus 2 是一个扩展性良好的小型计算器,得名于中国古代著名的计算工具----算盘,目前版本 2。支持四则混合运算、支持符号常量、支持变量参与运算、支持众多的数学函数、并可以把自己常用的公式定义成函数并像内置函数一样使用。详情请查看帮助文档(根文件夹下有中文帮助文件)。

2013-01-18

scheme语言的解释器scheme48

scheme语言的解释器scheme48

2012-09-20

空空如也

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

TA关注的人

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