逸之的专栏

专注计算机科普
私信 关注
逸之·小超子
码龄10年

专注计算机科普,约稿、合作请私信。 简书:https://www.jianshu.com/u/af8d5ddcb7c5 知乎:https://www.zhihu.com/people/yizhi-in-computer

  • 93,365
    被访问量
  • 113
    原创文章
  • 79,852
    作者排名
  • 25
    粉丝数量
  • 于 2011-07-01 加入CSDN
获得成就
  • 获得14次点赞
  • 内容获得11次评论
  • 获得59次收藏
荣誉勋章
兴趣领域
  • #后端
    #C/C++
TA的专栏
  • 01改变世界:计算机发展史趣谈
    37篇
  • 01改变世界:计算机原理趣谈
    2篇
  • 01改变世界(第一版)
    4篇
  • DO IT
    6篇
  • DO IT技术干货
    5篇
  • 程序小库
    2篇
  • MFC
    20篇
  • C/C++
    27篇
  • 教程
    4篇
  • 笔记
    8篇
  • IDE
    5篇
  • Java
    1篇
  • 系统级
    4篇
  • 网络
    1篇
  • CMD
    1篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

GJB 8114-2013《C/C++语言编程安全子集》(带书签)

GJB 8114-2013《C/C++语言编程安全子集》(带书签)
pdf
发布资源于 2 月前

Rust 各版源码及工具链下载地址

版本源码工具链1.34.2gz / xz2019-05-14 / x861.35.0gz / xz2019-05-23 / x861.36.0gz / xz2019-07-04 / x861.37.0gz / xz2019-08-15 / x861.38.0gz / xz2019-09-26 / ...
原创
81阅读
0评论
0点赞
发布博客于 4 月前

MCJIT 设计与实现

本文是对LLVM 7.0.1文档《MCJIT Design and Implementation》的选择性意译,并在关键处附上相应源码。引言本文档描述MCJIT执行引擎与RuntimeDyld组件的内部过程。这是一份层次比较高的概述,主要展示代码生成与动态链接的流程以及过程中对象之间的交互。引擎创建多数情况下,我们使用EngineBuilder来创建MCJIT执行引擎的实例。EngineB...
原创
48阅读
0评论
0点赞
发布博客于 4 月前

Cargo 私有仓库部署

Step 1:服务端创建Git仓库私有仓库的crates目录使用Git进行版本管理:$ mkdir mycrates-io$ cd mycrates-io$ git init$ cd ..$ git clone --bare mycrates-io mycrates-io.gitStep 2:服务端部署Alexandrie服务Alexandrie是Rust语言编写的私有仓库管理服务...
原创
178阅读
0评论
0点赞
发布博客于 5 月前

Erlang/OTP 源码初调研

Erlang是一门适用于开发大规模可扩展实时软件系统的语言,主打并发和分布式编程,在电信、银行、电商、即时通信等领域均有应用案例。当前版本:OTP 23.0 [1]支持alpha、arm、powerpc、mips、aarch64、x86_64等主流架构。三方依赖GNU makegcc or clangPerl 5GNU m4(可在./configure时使用--disable-hi...
原创
38阅读
0评论
0点赞
发布博客于 6 月前

Rust 1.34.2 contig.toml 选项梳理

# Sample TOML configuration file for building Rust.## To configure rustbuild, copy this file to the directory from which you will be# running the build, and name it config.toml.## All options are...
原创
454阅读
0评论
0点赞
发布博客于 6 月前

LLVM Compiler-RT

版本:LLVM 7.0.1LLVM中的Compiler-RT相当于GCC中的libgcc,为目标平台提供其硬件不支持的低级功能的优化实现。Compiler-RT(RT指运行时)项目用于为硬件不支持的低级功能提供特定于目标的支持。例如,32位目标通常缺少支持64位除法的指令。Compiler-RT通过提供特定于目标并经过优化的功能来解决这个问题,该功能在使用32位指令的同时实现了64位除法...
原创
485阅读
0评论
0点赞
发布博客于 7 月前

飞速发展的电子计算时代

- 1 -电子时期,计算机的样子终于开始向我们熟悉的模样靠拢,它从图灵那儿取得灵魂,从冯·诺依曼手上拿到骨架,并在后继者的不断努力下变得血肉丰满。本章专注于电子计算机最核心的部分,但这一时期还爆发出太多太多令人目不暇接的相关技术,是它们逼出了计算机的全部潜能,探索着0和1的一切可能性。操作系统、编程语言和网络的出现,为各种类型的应用软件搭好舞台;软件对电信号的层层封装,给软件本身带来爆发式的成...
原创
71阅读
0评论
0点赞
发布博客于 8 月前

集成电路:芯片时代的到来

研制历程1952年,实用的晶体管问世不久,电子行业还盛行电子管之时,一家为石油行业提供地震勘探服务的公司以极其长远的眼光向贝尔实验室买下了专利许可,并斥资数百万美元押注晶体管市场,而它当时的年利润仅有90万,这无疑是一场没有后路的跨界豪赌。它就是如今的半导体巨头——德州仪器。就在人们还对晶体管抱有迟疑态度时,德州仪器早已建成强大的晶体管生产线。1954年10月,其首款晶体管收音机上市。当时美国...
原创
121阅读
0评论
0点赞
发布博客于 8 月前

Rust安装

版本:1.34.2源码编译安装环境准备官方要求具备的环境:g++ 5.1 or later or clang++ 3.5 or laterpython 2.7 (but not 3.x)GNU make 3.81 or latercmake 3.4.3 or latercurlgitssl which comes in libssl-dev or ...
原创
444阅读
0评论
0点赞
发布博客于 1 年前

AntiHash 1.1.0:新增文件夹支持

AntiHash是一款可以秒改文件哈希值的Windows软件,用于突破网盘分享限制。欢迎订阅《逸之的程序小库》专题,软件的版本更新及各版的使用说明均收录其中。这是发布之后的第一次升级,主要增加了对文件夹的支持,如果你将某个文件夹拖入,里面的所有文件,包括子文件夹、孙文件夹、曾孙文件夹……中的所有文件都将一齐罗列出来,方便懒人批量操作。比如当我把C盘...
原创
312阅读
2评论
1点赞
发布博客于 1 年前

算盘知多少

本文刊载于《数学大王》2019年第9期算盘模型/S7在学习和生活中,我们时常会遇到复杂的数学问题,此时,借助电子计算器就可以很快得到答案。但在没有计算器的古代,我们的祖先该怎么办呢?不用担心,他们也有一款神器——算盘。构造算盘看起来「相貌平平」,长方形的木框里并排着一串串的木珠[1],像极了一盒冰糖葫芦。中间的横梁把每串珠子分成「上二下五」的两部分,下面的珠子...
原创
278阅读
0评论
0点赞
发布博客于 1 年前

第一批冯·诺依曼计算机

SSEC:第一台具有存储程序特点的计算机第一台涉足存储程序的计算机是由IBM独立于ENIAC和EDVAC完成的。还记得那台让IBM与哈佛结下梁子的Harvard Mark I吗?就在建成它的同一年,没能如愿提高公司形象的IBM立马豪掷100万美元,启动了自己的独立项目SSEC——顺序可选电子计算器(Selective Sequence Electronic Calculator)...
原创
500阅读
0评论
0点赞
发布博客于 1 年前

简粉下载 2.3.0:可以下载含LaTeX公式的文章了

简粉下载是一款可以将简书上的文章保存为HTML文件的Windows软件,图文排版与简书保持一致,为文章(包括插图)的离线收藏和备份提供一种选择。欢迎订阅《逸之的程序小库》专题,软件的版本更新及各版的使用说明均收录其中。前阵子有几位简友反映,简粉下载总是报「文章不存在」,我一试,还真是。简书又双叒叕调整页面结构了!拖了好几个月没有修复,让大家久...
原创
128阅读
0评论
0点赞
发布博客于 1 年前

冯·诺依曼结构:现代计算机的诞生

从存储程序到冯·诺依曼结构机电时期,人们使用穿孔卡片或穿孔带编制程序,由于计算机的运算速度受限于机械动作,输入模块有充分的时间读取穿孔介质上的指令信息。而到了电子时期,使用穿孔输入就远远跟不上电子运算的节奏了,因此,人们便利用旋钮、开关和接插线的不同位置来表示程序,虽然消除了控制与运算之间的速度差距,却使编程成为一件非常复杂的难事。在ENIAC上设置一个实用程序,往往需要几个星期...
原创
580阅读
0评论
1点赞
发布博客于 2 年前

ENIAC:第一台通用电子计算机

研制背景计算,是现代化武器的灵魂。一颗看似做着简单的自由落体运动的炮弹,其实在出发前就被设定好了精确的飞行轨道。弹道的计算十分复杂,发射速度和角度的确定不仅要考虑炮弹本身的类型和炸药特性,还要考虑风向、风速、气压、气温、湿度和当地重力加速度等环境因素,作战时在瞬间完成这些因子的综合分析显然不是人力所能及的。因此,科学家会在使用前为炮手准备好一份弹道表,炮手对照表中参数操作火炮,...
原创
1781阅读
0评论
0点赞
发布博客于 2 年前

巨人机:第一台可编程电子计算机

ABC之后,历史仍未安排ENIAC出场。1943年,电子时期的第2个重要角色诞生在图灵所处的布莱切利。研制背景1941年6月,意识到谜机可能已被破解的德军启用了一种复杂度更高的加密系统,并且这一次英国没能拿到相应的机器,布莱切利的密码学们要和一个完全未知的强大敌人抗争。在听闻德国人用一种海鱼的名字称呼这套系统后,布莱切利也给它起了个绰号——“金枪鱼”。1941年8月,“金枪鱼...
原创
351阅读
0评论
0点赞
发布博客于 2 年前

ABC:第一台电子计算机

研制背景大约是1934年的某一天,美国爱荷华州立大学数学和物理专业的一位助理教授正摩拳擦掌,誓要改造学校租用的一台IBM制表机,使它成为更强大的计算机器,并立刻动起手来。这一举动令IBM的售货员大为紧张,毕竟学校只是租赁,并没有把机器买下来,赶紧写信叫停了他的“鲁莽”行为,并要求把已经改动的地方恢复原样。这位助理教授名叫约翰·阿塔纳索夫(John Vincent Atanaso...
原创
1035阅读
0评论
0点赞
发布博客于 2 年前

电子管发展史

电子管的诞生19世纪下半叶,先后有几位科学家发现了通电的金属导体在加热后会出现电量损失的现象。1983年,正在改进灯泡的托马斯·阿尔瓦·爱迪生(Thomas Alva Edison)也发现了这一现象,为了减缓灯丝在高温下过快“蒸发”,他在灯泡中加入了不与灯丝接触的金属片,虽然并没有解决灯丝的“蒸发”问题,却意外地用电流表检测出了金属片中的微弱电流。这在当时是匪夷所思的,难不成电流...
原创
558阅读
7评论
2点赞
发布博客于 2 年前

图灵机:计算机世界的理论基石

有个古老而经典的逻辑游戏:如果一个人说“我正在说谎”,那么他到底在不在说谎呢?如果他不在说谎,那么“我正在说谎”这句话就是真的;如果他在说谎,那么“我正在说谎”这句话就是假的。无论从哪个方向推演,得到的都是自相矛盾的结论,我们无从判定他在不在说谎。这就是公元前4世纪,由哲学家欧布里德(Eubulides)提出的著名的说谎者悖论。与之类似的,还有伯特兰·罗素(Bertrand R...
原创
198阅读
0评论
0点赞
发布博客于 2 年前

蠢蠢欲动的机电计算时代

- 1 -机电时期是机械与电子之间一段狭小的过渡时期,时间虽短,却取得了质跃式的显著成就。这一时期的机器不再局限于单纯的数学运算,开始具备更丰富的功能。它们有着五花八门的构造,并在专用和通用之间来回游走,却都不约而同渐渐朝着现代计算机的模样靠拢。随着穿孔时代的开启,“新秀”二进制开始挑战十进制的“权威”,我们在祖思机、贝尔机和哈佛机上一步步领略过它的魅力。二进制在计算中的应用...
原创
52阅读
0评论
0点赞
发布博客于 2 年前

哈佛机:体验一把穿孔纸带上的编程

稍晚些时候,踏足机电计算领域的还有哈佛大学。当时,一名在校的物理学博士生——霍华德·艾肯(Howard Hathaway Aiken),和当年的祖思一样,被手头繁复的计算困扰着,一心想建台计算机,于是从1937年开始,抱着方案四处寻找愿意合作的公司,最终是IBM伸出了橄榄枝。霍华德·哈瑟维·艾肯(Howard Hathaway Aiken),1900-1973,美国物理...
原创
436阅读
0评论
0点赞
发布博客于 2 年前

天才辈出的机械计算时代

- 1 -机械计算是在人类基础科学突进和资本主义扩张的历史背景下产生的,这一时期,人们面临着前所未有的计算挑战,主要体现在计算量的剧增、以及精度要求的提高,计算难度倒仍大体停留在(或可分解为)最简单的四则运算。人类首次意识到自动化计算的意义,哪怕只是能让机器分担最简单的那一部分。这一时期的产品多数功能简单,却很是笨重(后来出现的科塔除外),往往占据一个桌角甚或半张桌子后便很少挪...
原创
85阅读
0评论
0点赞
发布博客于 2 年前

蛮荒而漫长的手动计算时代

- 1 -本章所介绍的手动时期一系列典型的计算工具,其发展历程,正是人类文明演进的剖面——从利用自然,到改造自然,再到发明创造。手指是最易获取的“工具”,石子一类其次,这两种都是自然界现成的物品;从契刻开始,人们有了改进自然物的想法;结绳和算筹则已是批量化、统一化制造的产物;算盘、纳皮尔筹和对数尺更是目的性很强的发明创造。这不单是人类创造力不断放大的过程,更是对工具便携性和易...
原创
48阅读
0评论
0点赞
发布博客于 2 年前

贝尔机:带你领略编码的魅力

当祖思凭一己之力开启德国现代计算机的历史,大西洋彼岸的美国也毫不示弱地完成了本土的设备升级。和前者的孤军奋战不同,后者主体是上世纪叱咤风云的贝尔实验室。众所周知,贝尔实验室及其所属公司是做电话起家、以通信为主要业务的,虽然也做基础研究,但为什么会涉足计算机领域呢?其实跟他们的老本行不无关系——最早的电话系统是靠模拟量传输信号的,信号随距离衰减,长距离通话需要用到滤波器和放大器以保...
原创
72阅读
0评论
0点赞
发布博客于 2 年前

祖思机——第一台二进制可编程计算机

巴贝奇领先全人类一个世纪提出了可编程机械计算机的设想,但最终没能将其转换为现实——分析机的建造甚至迄今都没有人能完成。历史翘首期盼了百年,却在纳粹德国见证了第一台可编程计算机的诞生。它的发明者——康拉德·祖思(Konrad Zuse)虽不为人所熟知,却是名副其实的“现代计算机之父”。康拉德·祖思(Konrad Zuse),1910-1995,德国土木工程师、发明家。...
原创
570阅读
0评论
0点赞
发布博客于 2 年前

制表机——穿孔时代的到来

从1790年开始,美国每十年进行一次人口普查。百年间,随着人口繁衍和移民的增多,从1790年的400万不到,到1880年的5000多万,人口总数呈爆炸式地增长。1790~1880年美国人口增长曲线不像现在这个的互联网时代,人一出生,各种信息就已经电子化、登记好了,甚至还能数据挖掘,你无法想象,在那个计算设备简陋得基本只能靠手摇进行四则运算的19世纪,千万级的人口统计...
原创
275阅读
0评论
1点赞
发布博客于 2 年前

补码、反码,傻傻分不清?

补码补码的意义在于表达负数,进而将相对麻烦的减法运算转换为计算机擅长的加法。我们先来看看,如果单纯用「符号位+原码」的表示方法,会出现什么幺蛾子,比如符号位0表示正、1表示负:正数二进制原码负数二进制原码00 0000-01 000010 0001-11 000120 0010-21 001030 0011-31...
原创
94阅读
0评论
0点赞
发布博客于 2 年前

从二进制到逻辑门——哲学中诞生的计算理论

☞ 欢迎来到神奇的01世界 ☜二进制二进制来自哲学,自然万物两两相对,白天与黑夜、太阳和月亮、苍天与大地、男人和女人、寒冷与炎热、甘甜和苦涩……我国传统文化中的阴阳学说、太极八卦,都是在讲这些自然的本质。不光中国,在很久很久以前,世界各地的文明也都或多或少意识到了二进制的意义,只是除了参悟哲学道理,一直没有用到数学中去。直到17~18世纪,数学上的二进制才由莱布尼茨首次提出...
原创
258阅读
0评论
0点赞
发布博客于 2 年前

电的引入——令计算机费解的罪魁祸首

☞ 欢迎来到神奇的01世界 ☜我们难以理解计算机,也许主要并不由于它复杂的机理,而是根本想不明白,为什么一通上电,这坨铁疙瘩就突然能飞速运转,它安安静静地到底在干些啥。经过前几篇的探索,我们已经了解机械计算机(准确地说,我们把它们称为机械式桌面计算器)的工作方式,本质上是通过旋钮或把手带动齿轮旋转,这一过程全靠手动,肉眼就能看得一清二楚,甚至用现在的乐高积木都能实现。麻烦就麻烦...
原创
72阅读
0评论
0点赞
发布博客于 2 年前

巴贝奇——现代计算机真正的鼻祖

☞ 欢迎来到神奇的01世界 ☜从最基本的加法器到真正的四则计算器,一代代世界顶级的发明家不断精进着机器的设计和工艺。从17世纪到20世纪,随着时代的演进,机器驱动也完成了从手摇到电动的革新。即使在电子计算器出现后的几十年里,部分已经停产的机械计算器仍在世界各地的办公桌上服役。可当我们回顾历史却发现,这个辉煌的、跨越了三百多年时光、汇聚了众多天才智慧的机械计算时代,却仅仅在和加、...
原创
580阅读
0评论
0点赞
发布博客于 2 年前

百万富翁——真正的四则计算器

☞ 欢迎来到神奇的01世界 ☜在步进计算器诞生之后的两百多年中,机械计算之曲始终在莱布尼茨定好的基调上演奏。不难发现,两百年中的制造工艺在不断进步,机器的可靠性也不断提高,而计算原理却始终没有改进。尽管各路“莱系”计算器都宣称具备四则运算的能力,其实乘除法的实现靠的是重复加减,使用者总是需要旋转多圈手柄,以“伪造”乘除运算的过程。严格来讲,“莱系”计算器都不是真正的四则计算器,他...
原创
112阅读
0评论
0点赞
发布博客于 2 年前

按键式计算器——人机交互的变革

☞ 欢迎来到神奇的01世界 ☜机械计算的历史在齿轮的转动下推进了两个世纪。齿轮要工作,必须给它一个旋转的动力,无论是旋钮还是手柄,都逃不出这样的思维定式,靠手柄驱动的机械计算器也常被统称为手摇(式)计算器。我们都知道,后来人与计算器的交互形式是按键的,这比手摇方便、快捷得多。对于电子计算器,很容易通过按键操作实现电路的通断控制,但在机械计算器中,如何靠按键驱动齿轮运转呢?最早...
原创
280阅读
0评论
0点赞
发布博客于 2 年前

科塔——一颗另辟蹊径的「数学手雷」

☞ 欢迎来到神奇的01世界 ☜眼看着解决了百年难题的销轮计算器就要一统“莱系”架构的江湖,不料二战期间杀出了个程咬金——有人想到了更巧妙的方法,他没有改变阶梯轴的形状,而是彻底抛弃了莱布尼茨和托马斯定下的机器形态,只用1根阶梯轴就实现了同样的功能,他的机器小到可以握在手里、放进口袋。这位“不走寻常路”的发明者名叫科特·赫兹斯塔克(Curt Herzstark 1902-1988...
原创
91阅读
0评论
0点赞
发布博客于 2 年前

销轮计算器——走出阶梯轴的「笨拙」困境

☞ 欢迎来到神奇的01世界 ☜莱布尼茨的阶梯轴为机械式乘除运算提供了一种巧妙的实现途径,但其本身作为一个长长的圆柱体却显得十分笨重。托马斯的算术仪充分发挥了阶梯轴的实用价值,却绕不过它笨重的特质。20位的算术仪长约70cm,需占用大半个办公桌面,而托马斯为1855年巴黎世界博览会专门制作的30位算术仪足有一架钢琴那么大。莱布尼茨之后,世界各国的许多发明家都为缩小阶梯轴的体积绞尽...
原创
121阅读
0评论
0点赞
发布博客于 2 年前

手指计数——长在身上的计算机

☞ 欢迎来到神奇的01世界 ☜美国人阿西莫夫说过,人类最早的「计算机」是手指,英语单词「Digit」既表示「手指」又表示「整数数字」。——孙燕群《计算机史话》文明始于计数文明萌芽之前,人类的祖先还没有「数」的概念。在广袤的原始森林里,他们认识这棵树,也认识那棵树,唯独没有这是从哪到哪第几棵树的概念,更没有某一范围内总共有多少棵数的概念。等到祖先们渐渐有了计数的意识,起初也局限于很小的...
原创
237阅读
0评论
0点赞
发布博客于 2 年前

托马斯算术仪——商人懂技术,谁也挡不住

☞ 欢迎来到神奇的01世界 ☜从契克卡德开始,机械计算像一株微弱的小火苗,时而明亮,时而暗淡,在一小群“极客”的守护下顽强地燃烧了两个世纪。星星之火还未燎原,与数字打着交道的人们,仍被手动计算的繁重和易错折磨得焦头烂额。直到19世纪初,莱布尼茨逝世百年之后,一个技术精湛又有商业头脑的法国人,在弥补了步进计算器的缺陷之后,将机械计算推广到了全世界。他叫查尔斯·泽维尔·托马斯(C...
原创
93阅读
0评论
0点赞
发布博客于 2 年前

莱布尼茨步进计算器——不想当发明家的数学家不是好的哲学家

☞ 欢迎来到神奇的01世界 ☜1672年的某一天,一位在德国政坛小有名气的年轻人受邀来访巴黎——一座大师荟萃的城市。身为文科生的他却误打误撞与几位大数学家成为了好友,从此闯进了理科的世界,没想到这一闯就掀起了历史的惊涛骇浪。钻研数学期间,他渐渐发现:「让一些杰出人才像奴隶般地把时间浪费在计算工作上,是不值得的。」于是,世界上第一台可以自动执行四则运算的机械式计算机诞生了。而这,...
原创
1084阅读
0评论
0点赞
发布博客于 2 年前

原来,我们是这样记数的

生活中,我们稀松平常地与数字打着交道,一个约定的时间、一件商品的价格、一个人的身高、一间屋子的平方……却很少有人细细想过,这些数字是如何表达出来的?为什么你理所当然地把1024理解为「一千零二十四」而不是别的含义?也许你从未想过,在这简单的记数中,沉淀着人类的大智慧。一进制记数法早在数字的概念产生之前,人类就学会了使用树枝、石子、贝壳等自然界随处可见的小物件表示猎物的、果实的...
原创
59阅读
0评论
0点赞
发布博客于 2 年前

云存储——别说你还没用过网盘

图片来自网络什么是云存储云存储(cloud storage)是从云计算中衍生而来的一个概念,严格来说是属于云计算的一部分,与云计算一样都十分抽象。什么是云存储?国内比较通行的定义为:云存储是指通过集群应用、网络技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统。是不是更晕...
原创
71阅读
0评论
0点赞
发布博客于 2 年前

解密编程——程序诞生的基本工序

老实说,我都有些怀疑这一章节的必要性。如今的程序员如果在大街上随手扔出一个键盘,砸中的很有可能就是同行。不光日新月异的IT行业吸纳着越来越多的从业人员,编程作为一项专业技能也大有进入中小学生基础知识体系的趋势。但是我想,仍有更多的朋友对编程一知半解或知之甚少,用外行也能理解的方式来捋一捋这门庞杂学问的大致脉络,还是有意义的。图片来自网络什么是编程正经地讲,计算机编...
原创
83阅读
0评论
0点赞
发布博客于 2 年前

机械硬盘——电子计算时代的机电遗风

每当我们的计算机结束了每秒数十亿心率的高强度劳作,它把自己的思想和知识安顿到一个狭小的盒子——硬盘。这里是机器的卧室,它的完好,保着计算机的灵魂不死。说起硬盘,我们常会听到另一种说法——外存,也就是与内存相对的外存储器(external memory)。其实硬盘只是外存的一种,00后从没见过的软盘、用于服务器数据备份的磁带、差不多已被淘汰干净的光盘、经常用来传递资料和病毒的U盘等...
原创
42阅读
0评论
0点赞
发布博客于 2 年前

帕斯卡算术机——数学天才的十余年匠心

☞ 欢迎来到神奇的01世界 ☜第一之争契克卡德确实早于帕斯卡涉足机械计算,且史料表明,至少曾有一台计算钟是制作成功的。然而,就在这样确凿的证据面前,「机械计算第一人」的说法仍然存在争论,主要有以下几点原因:契克卡德没有留下看得见摸得着的实物;他的设计描述相对笼统、不可靠,即使是改进后的复制品,超过3位的连续进位就需要人为干预才能完成;计算钟从来没有真正投入过使用,用现在...
原创
780阅读
0评论
1点赞
发布博客于 2 年前

契克卡德计算钟——被遗忘的第一台机械计算器

☞ 欢迎来到神奇的01世界 ☜引子一个问题:世界上谁发明了第一台机械式计算机?长久以来,学界一致认为是布莱士·帕斯卡(Blaise Pascal)——对,就是那个成为压强单位的法国大物理学家帕斯卡。不过他发明的机器我们下回分解,今天的主角另有其人。1935年,后人在整理天文学家开普勒(对就是那个成为望远镜的开普勒)留下的研究资料时发现了几张三百年前的图纸,当时人们不知道上面...
原创
445阅读
0评论
0点赞
发布博客于 2 年前

思想萌芽——从哲学中诞生的机械计算思维

☞ 欢迎来到神奇的01世界 ☜手动时期的计算工具要么是自然界现成的,要么是简单制作而成,原理都十分简单。许多经典的计算工具之所以强大,譬如算盘,是由于依托了强大的使用方法(即算法),工具本身并不复杂,甚至用现在的话来讲,是遵从着极简主义的。因此,手动时期的人们在做计算时,除了动手,还需要动脑,甚至动口(念口诀),必要时还得动笔(记录中间结果),人工成本很高。机械计算是人类「偷懒...
原创
86阅读
0评论
0点赞
发布博客于 2 年前

写在前面——欢迎来到神奇的01世界

笔者从小对计算机痴迷,它实在过于神奇,能打字,能游戏,能传讯于千里,但除了比同龄人接触早、用得溜,其实也并无多少了解。后来如愿进入这个专业,然而大学的教程也并不系统,东拼西凑学了些知识,对计算机仍然知之甚少。如今越了解越觉得,计算机真真是人类最了不起的发明,而且在我看来没有之一,以它庞大的结构设计、高深的数学理论、精湛的制作工艺、天文级的运行速度,叫任何其他人造物都好不黯然失色。...
原创
91阅读
0评论
0点赞
发布博客于 3 年前

计算机发展史上的冷知识·手动时期篇

☞ 欢迎来到神奇的01世界 ☜- 1 -人类最早的计数方式是肢体计数,其中手指计数最为实用,「数字」的英文digit同时还有「手指」和「脚趾」的意思。截图来自百度翻译- 2 -人体共有20根手指和脚趾,因此历史上有很多部落使用二十进制。藏文中,「人」字有20的意思;法语中,quatre表示4、dix表示10、vingt表示20,于是80就用quatre-vin...
原创
116阅读
0评论
0点赞
发布博客于 3 年前

滑尺计算——丈量宇宙的直尺

☞ 欢迎来到神奇的01世界 ☜对数表纳皮尔发明对数之后,包括纳皮尔在内的数学家们便开始着手编制对数表,将费神费力的乘除运算简化为嗖嗖查表的动作。所谓对数表,其实就是以某个数字为底,把一定范围内(比如1~10000)所有整数的对数值预先算好,列成表格,印刷成册,像查字典一样使用。1000~1500的常用对数表(常用对数即以10为底的对数)(图片来自维基「Common...
原创
167阅读
0评论
0点赞
发布博客于 3 年前

纳皮尔筹——老外是如何「运筹帷幄」的

☞ 欢迎来到神奇的01世界 ☜纳皮尔筹,这对你来说也许是个极陌生的词,其实在深入了解之前我也一样,还时常把它念成「皮纳尔筹」……引言顾名思义,纳皮尔筹就是一个叫纳皮尔的人发明的算筹。纳皮尔作为苏格兰著名的数学家并没有太过著名,想必大多数人都闻所未闻,然而他发明的一个数学概念却是每个高中生都会掌握的、大名鼎鼎的对数。看来纳皮尔没有把对数命名为纳皮尔数,这波真是亏大了。...
原创
419阅读
0评论
0点赞
发布博客于 3 年前

数术记遗——盘点我国古代那些失传了的计算神器

☞ 欢迎来到神奇的01世界 ☜引言《数术记遗》是我国最早记载珠算的古籍,为汉代数学家徐岳撰写,由北周(南北朝时期)数学家甄鸾注解[1]。书中记录了14种计算方法,分别为积算、太一、两仪、三才、五行、八卦、九宫、运筹、了知、成数、把头、龟算、珠算、计数,除了最末的计数属于心算,其余13种均有相应的计算工具。截图自《数术记遗》但由于书中没有插画,极简的文言文又无法将...
原创
168阅读
0评论
0点赞
发布博客于 3 年前

如意算盘——中国的第五大发明

☞ 欢迎来到神奇的01世界 ☜在所有古代的计算工具中,中国的算盘是为算术提供了简单计算方法的唯一工具。西方(美国和欧洲)的观察者在目睹人们利用算盘完成最为复杂的计算时,往往大为惊叹。——法国数学历史学家乔治斯·以弗拉(Georges Ifrah)引言算盘是诸多古老的计算工具中,人们最为熟悉的一种。在我们90后小学时代,学校还专门开设过一系列算盘课,犹记当年在药店上班的母...
原创
127阅读
0评论
0点赞
发布博客于 3 年前

运筹帷幄——我国古代的高超算术

☞ 欢迎来到神奇的01世界 ☜说到算筹,想必很少有人听闻。虽然史上国外(日本、印度、巴基斯坦等)也有过这块腰椎间盘,但还是要数中国的最突出。图片来自网络先感性认识一下算筹最早出现于商周,在算盘被发明之前,堪称世界上最先进的计算工具。你可能没听说过,但「运筹帷幄」、「觥筹交错」这些朗朗上口的成语皆出于此。而这所谓先进的计算工具,竟是一根根小小的棍子(长约十几厘...
原创
94阅读
0评论
0点赞
发布博客于 3 年前

契刻计数——躺在刻痕里的文明

☞ 欢迎来到神奇的01世界 ☜引言设想一下,如果你像滨逊那样因故漂流到一座荒岛,身上除了一把小刀别无所有,在等待救援的日子里除了用它打猎,你一定还会做一件事,那就是找一棵树,用刀在树干上刻正字,以计算日期。远古部落、古代文明,以及近现代的一些少数民族也是这么做的。他们通常选用石、木、竹、玉、野兽的牙、角、骨等材料,削成棍、片、圆等形状,也有直接在洞壁上,用坚硬的石器或刀具刻出...
原创
411阅读
0评论
0点赞
发布博客于 3 年前

印加奇普——令人惊叹的结绳记事法

☞ 欢迎来到神奇的01世界 ☜在英语中,cord正是record的词根,「记录」源于「绳子」。历史上,不同的地区和民族有着各自不同的结绳文化,最值得一提的是古老而神秘的印加帝国。这个伟大的古代文明没有文字,在西班牙人入侵之前,靠复杂的结绳体系记录一切信息。他们的结绳,有着一个神圣的名字——奇普。奇普的组成结构奇普是单词quipu或khipu的音译,在印加帝国所用的盖丘...
原创
311阅读
0评论
0点赞
发布博客于 3 年前

结绳计数——最原始的备忘录

☞ 欢迎来到神奇的01世界 ☜上古结绳而治,后世圣人易之以书契,百官以治,万民以察。——《周易·系辞》引言前面讲到手指计数和石子计数。手指「随身携带」,拿出来就是,但不便存数,没人会常年比着一个手势;石子既可携带又可存数,但数量一多,难免就重了,而且携带时也无法保留石子间的拓扑关系,其实并不便携。聪明的先人想到在绳子上打结。图片来自网络据文献记载及考古...
原创
265阅读
0评论
0点赞
发布博客于 3 年前

对话体|科学与佛教的一致性

周日有位73岁的退休教师来做客,闲聊中我们就科学与佛教的关系展开了讨论。本文所记为事后对主要内容的回忆整理,部分故事和理论未经严格查证,也不代表当事人的信仰立场,仅仅是一次有趣的聊天。 从《西游记》到佛教 我把老教师招呼到沙发上,倒茶,顺手打开网络电...
原创
26阅读
0评论
0点赞
发布博客于 3 年前

石子计数——解放双手的第一步

☞ 欢迎来到神奇的01世界 ☜在搜索资料的过程中,发现对原始社会计数方式介绍多在一些少儿期刊以卡通漫画的形式出现,似乎它们过于简单,只用来启发少儿的学习兴趣了。但事实上多数成年人对此也未必了解太多。引言用手指计数和计算的一个显著缺点就是无法存储,如果一个猎人想统计自己一个月内打了多少野兽,要每天累加,总不能天天掐着手指睡觉吧!人类最早借助的外物是大自然中随处可见的石子、...
原创
430阅读
0评论
0点赞
发布博客于 3 年前

手指计数——长在身上的计算机

☞ 欢迎来到神奇的01世界 ☜美国人阿西莫夫说过,人类最早的「计算机」是手指,英语单词「Digit」既表示「手指」又表示「整数数字」。——孙燕群《计算机史话》文明始于计数文明萌芽之前,人类的祖先还没有「数」的概念。在广袤的原始森林里,他们认识这棵树,也认识那棵树,唯独没有这是从哪到哪第几棵树的概念,更没有某一范围内总共有多少棵数的概念。等到祖先们渐渐有了计数的意识,起...
原创
112阅读
0评论
0点赞
发布博客于 3 年前

机械之美——机械时期的计算设备

本文刊载于《上海财经大学博物馆馆刊》2018年11月(第一期),网络版为《机械之美——机械时期的计算设备》。 所谓计算机,顾名思义,就是用于计算的机器。诚然现在的计算机应用已经远远超出了计算本身,不论是电脑、平板、还是手机,我们天天靠着它们看电影、听音乐、交流感情,看似与计算已经毫无关系,但事实上最初计算机的诞生就是为了满足人们对数学计算的需...
原创
173阅读
0评论
1点赞
发布博客于 3 年前

C/C++代码静态分析工具调研

简述静态分析(static analysis)是指在不执行代码的情况下对其进行分析评估的过程,是软件质量和软件安全保障的重要一环。它通过词法分析、语义分析、控制流分析、数据流分析等技术对代码逐行解析暴露问题,从而协助我们将许多在运行时才会暴露的棘手麻烦扼杀于摇篮之中。典型问题示例代码静态分析能够识别诸多类型的漏洞或缺陷,轻至警告级的「变量未使用」,重至错误级的各类bug,这里...
原创
285阅读
0评论
0点赞
发布博客于 3 年前

让电代替人工去计算——机电时期的权宜之计

机电时期(19世纪末~20世纪40年代) 我们难以理解计算机,也许主要并不由于它复杂的机理,而是根本想不明白,为什么一通上电,这坨铁疙瘩就突然能飞速运转,它安安静静地到底在干些啥。 经过前几篇的探索,我们已经了解机械计算机(准确地说,我们把它们称为机械式桌面计算器)的工作方式,本质上是通过旋钮或把手带动齿轮旋转,这一过程全靠手动,肉眼就能看得一...
原创
107阅读
0评论
0点赞
发布博客于 4 年前

Python+Qt Quick:一种便捷的桌面软件开发模式

引言Python大家都耳熟能详,Qt Quick是自Qt 4.7发布的一种方式有别于传统的界面开发技术,从名字就能看出它追求便捷的目标。Qt Quick为Qt引入了一门叫QML(Qt Meta/Modeling Language)的脚本语言,它是ECMAScript标准的实现,意即,有着和JavaScript一样的语法(学过JS的朋友上手非常容易)。这意味着我们可以和开发网页一样...
原创
434阅读
0评论
0点赞
发布博客于 4 年前

次第 3.0.0:一款灵活的小工具,一键批量修改文件名

简介 作为一名多年的资源收藏控、整理癖,平时自然少不了对文件进行大批量的重命名,在尝试过人工、三方软件、批处理命令等多种方式之后发现,没一种称手……于是一言不合开发起自己专属的工具。 起初就我自己用,bug横出也懒得大改;S7得知后也要...
原创
136阅读
0评论
0点赞
发布博客于 4 年前

Z1:第一台祖思机的架构与算法

本文是对论文《The Z1: Architecture and Algorithms of Konrad Zuse’s First Computer》的中文翻译,已征得原作者Raul Rojas的同意。感谢Rojas教授的支持与帮助,感谢在美留学的好友——锁在英语方面的指导。本人英文和专业水平有限,不妥之处还请批评指正。This is a translation of "The ...
原创
80阅读
0评论
0点赞
发布博客于 4 年前

翻译杂感

最近我在翻译一篇24页的英文论文,不是工作需要,纯粹是自找。 从2015年开始,我以极慢的速度研究计算机的发展史,从远古时期的手指计数和结绳记事算起,把这些内容整理成《01改变世界》系列文。这期间读过不少书籍文献,但记忆力极差,别说英文资料,连中文的知识也很快在脑子里搅成一团浆糊。最近一篇的《01改变世界》战线拉得长,断断续续几近一年,每次接续都要把一些内...
原创
17阅读
0评论
0点赞
发布博客于 4 年前

QGIS的能力

QGIS是一套开源的跨平台地理信息系统,支持的操作系统包括Windows、Mac、Linux和BSD,也即将支持Android。当前软件的最新版本为2.18,文档版本为2.14(2.16版正在更新,2.18遥遥无期)。基础功能地图展示QGIS支持栅格(raster)和矢量(vector)两种图像,前者主要包括GeoTIFF、JPEG、PNG等文件格式,后者以点、折线和多边形三...
原创
298阅读
0评论
0点赞
发布博客于 4 年前

道高一尺,魔高一丈——用技术破除网盘分享限制

缘起 在一轮又一轮「净网行动」的严肃执行之后,打了多年擦边球的各大网盘终于一本正经做出了妥协。我们发现,以广泛使用的百度云为例,众多影视剧、音乐、软件的盗版资源被全面封禁,虽仍可上传下载,但已经不允许进行分享。 一阵天网恢恢的打压之后,常常辛辛苦苦找了半天资源,点开却都是这副鬼样。 便捷的分享与...
原创
78阅读
0评论
0点赞
发布博客于 5 年前

[MFC] 对话框文件拖拽

1、对话框Accept Files设置为True2、对话框添加WM_DROPFILES事件3、OnDropFiles()实现如下:void CAntiHashDlg::OnDropFiles(HDROP hDropInfo){ int fileNum = DragQueryFile(hDropInfo,-1,NULL,0); for (int i=0; i<fileNum; i+
原创
304阅读
0评论
0点赞
发布博客于 5 年前

[MFC] Static Text超链接

从设置超链接的麻烦程度可见,MFC是多么的不灵活。为Static Text添加超链接对话框添加
原创
934阅读
0评论
0点赞
发布博客于 5 年前

[笔记]《深入浅出Ext JS(第2版)》

第2章 EXT框架基础P19-20Ext.onReady()在页面文档渲染完毕但图片等还未下载时调用,放在HTML任何地方都会等加载完HTML后调用。所以无论什么时候,都要使用Ext.onReady()以确保脚本是在HTML元素都加载完后才执行,以避免许多潜在问题。第8章 布局P206P211P212
原创
368阅读
0评论
0点赞
发布博客于 5 年前

[教程] 从png到ico

试过几个软件,唯Axialis IconWorkshop满足了我的需求,虽然大了点,还要安装。1、win7最大图标是256×256,于是先准备好256×256的png。2、打开Axialis IconWorkshop,[File]→[Open],打开那个256×256的png。3、点击上图红圈里的图标,进行输出配置,在从16×16到256×256的选项上打好勾,点[OK]。
原创
556阅读
0评论
0点赞
发布博客于 5 年前

Sea.js模块打包工具spm

平台:Windows 7 版本:1.7.7 简介 Sea.js实现了对JS代码的模块化组织,大大提高了前端开发效率。然而在实际项目中,大量的细分模块却导致大量的脚本请求,拖慢了页面加载速度,也给服务器造成不小的压力。针对这一情况,spm(static package manager)因运而生,专门用于打包、压缩Sea....
原创
38阅读
0评论
0点赞
发布博客于 5 年前

现代计算机真正的鼻祖——超越时代的伟大思想

现今但凡对计算机历史有所了解的朋友,总能在第一时间想起一台叫ENIAC的电子计算机,总多少听闻过图灵、冯·诺依曼这样响当当的名字,却鲜有人知早在他们一个世纪之前,就独自开辟了现代计算机之路的传奇人物——巴贝奇。 查尔斯·巴贝奇(Charles Babbage 1792-1871),英国数学家、哲学家、发明家、机械工程师。 巴贝奇出生...
原创
79阅读
0评论
1点赞
发布博客于 6 年前

[CMD] chkdsk

chkdsk /f 修复磁盘上的错误。必须锁定磁盘chkdsk /r 找到坏扇区并恢复可读取的信息。必须锁定磁盘
原创
653阅读
0评论
0点赞
发布博客于 6 年前

[C++] Excel文件读写

一种笨重的方法是通过起Excel进程调用其库接口进行文件读写,但机子上万一没装Office或者移植时Office的版本、路径不同都有可能带来不兼容性。所幸Excel文件格式是开放的,可以根据其格式直接进行读写,机子上也不需要安装Office,BasicExcel就是这么一款方便好用的工具,对Excel的格式操作进行了封装。问题是BasicExcel不支持中文,有人添加了对中文文件路径的支持
原创
625阅读
0评论
0点赞
发布博客于 6 年前

[MFC] 获得客户区在对话框上的位置

转载
1169阅读
0评论
0点赞
发布博客于 6 年前

没有计算器的日子怎么过——手动时期的计算工具

所谓计算机,顾名思义,就是用于计算的机器。诚然现在的计算机应用已经远远超出了计算本身,不论是电脑、平板、还是手机,我们天天靠着它们看电影、听音乐、交流感情,看似与计算已经毫无关系,但事实上最初计算机的诞生就是为了满足人们对数学计算的需求,而如今计算机这些强大功能的底层实现,也依旧靠的是数学计算,这也是为什么我们仍然保留着“计算机”这一称呼的原因吧。 那么首...
原创
149阅读
0评论
0点赞
发布博客于 6 年前

[MFC] 对话框添加鼠标事件响应

选中对话框,在属性界面点开[消息]按钮。可添加OnLButtonDown、OnLButtonUp、OnMouseMove、OnMouseWheel事件处理函数,分别对应鼠标事件:点击、弹起、移动、滚轮。
原创
2811阅读
0评论
0点赞
发布博客于 6 年前

[MFC] 关于OnPaint()

别找了,就是OnPaint()
原创
776阅读
0评论
0点赞
发布博客于 6 年前

前言

笔者从小对计算机痴迷,它实在过于神奇,能打字,能游戏,能传讯于千里,但除了比同龄人接触早、用得溜,其实也并无多少了解。后来如愿进入这个专业,然而大学的教程也并不系统,东拼西凑学了些知识,对计算机仍然知之甚少。如今越了解越觉得,计算机真真是人类最了不起的发明,而且在我看来没有之一,以它庞大的结构设计、高深的数学理论、精湛的制作工艺、天文级的运行速度,叫任何其他人造物都好...
原创
15阅读
0评论
1点赞
发布博客于 6 年前

[系统级] 线程入口函数作为类成员

由于类的成员函数在编译时会默认含有本类的this参数,这与线程函数要求的有且仅有一个void*参数不符,因此需要将作为类成员的线程入口函数声明为static,因为static成员函数没有默认的this指针。但static成员函数又不能操作类的非static成员变量,故需要将this指针显示地传给线程函数的void*形参,以此完美地实现线程函数作为类成员。//VMICMainControl.h
原创
543阅读
0评论
0点赞
发布博客于 6 年前

[IDE] 安装VS2008在C根目录下留下的垃圾文件

安装vs2008、2010时候会在E盘或F盘或其他盘符下产生产生一系列的txt、dll、ini、等文件如9个文本文件 名字分别为 eula.1028.txt , eula.1031.txt , eula.1033.txt , eula.1036.txt , eula.1040.txt , eula.1041.txt , eula.1042.txt , eul
转载
832阅读
0评论
0点赞
发布博客于 6 年前

[MFC] Edit Control单击全选后如何使后续的单击不全选?

为提升用户体验,令单击Edit控件可直接将Edit中的文本全选,以便重新填写,做法很简单:
原创
1367阅读
0评论
0点赞
发布博客于 6 年前

[MFC] Combo Box两种模式下显示文本的设置

属性中Type默认为Dropdown,该模式下允许用于在Combo Box中输入任意文本,对Combo Box的文本设置可以直接用SetWindowText()。要想禁止用户在Combo Box中输入,而只允许选择下拉列表中提供的值,将Type设为Drop List即可。但此时不能用SetWindowText()对其设置文本,只能用SetCurSel()(即设置为选择了下拉列表中的第几项)
原创
1435阅读
0评论
1点赞
发布博客于 6 年前

[MFC] List Control第一列为什么无法居中?

事实是微软规定第一列式不能设置格式,MSDN里有说明:If a column is added to a list-view control with index 0 (the leftmost column) and with LVCFMT_RIGHT or LVCFMT_CENTER specified, the text is not right-aligned or centered.
原创
3321阅读
0评论
1点赞
发布博客于 6 年前

[MFC] 为什么选用多字节字符集后界面变丑了?

原来问题在stdafx.h中的这段代码上:#ifdef _UNICODE#if defined _M_IX86#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='
原创
835阅读
0评论
0点赞
发布博客于 6 年前

[MFC] Combo Box CBN_SELCHANGE响应问题

当选择Combo Box中的某一行时,我需要获取其内容,以实现需求的相应操作。理所当然地使用GetWindowText()函数获取该Combo Box当前的窗口内容,但每次都需要点两下才会响应。事实是CBN_SELCHANGE事件过程中该Combo Box窗口内容还未更新,只能通过获得所选行号间接获得所选内容:m_class_instances_.GetLBText(m_class_i
原创
1510阅读
0评论
0点赞
发布博客于 6 年前

[MFC] 鼠标移动到控件上显示提示信息

用到的控件:CToolTipCtrl1. 头文件中创建对象CToolTipCtrl m_tip;2. 在OnInitDialog()中添加如下代码EnableToolTips(TRUE);m_tip.Create(this);m_tip.Activate(TRUE);CWnd* pw = GetDlgItem(IDC_EDIT_ATTRIBUTES);//IDC_EDIT_A
转载
2425阅读
0评论
0点赞
发布博客于 6 年前

[MFC] 脚本错误:对象不支持此属性或方法

VS2008为控件添加变量时出现解决方法:添加一注册表项:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones如果不存在1000这一项的话,首先添加;在此项(1000)中添加一个DWORD值名称为1207,类型为REG_DWORD, 数据为0x0000000
转载
1490阅读
1评论
0点赞
发布博客于 6 年前

[MFC] 分割CString的AfxExtractSubString函数

函数原型:BOOL AfxExtractSubString(CString& rString, LPCTSTR lpszFullString, int iSubString, TCHAR chSep = '
')参数说明:rString  保存输出的子字符串lpszFullString  待分割的字符串iSubString  提取的子字符串的序号,从0开始
转载
2269阅读
0评论
0点赞
发布博客于 6 年前

[MFC] 打开/保存文件对话框

CFileDialog类封装了Windows常用的文件对话框。常用的文件对话框提供了一种简单的与Windows标准相一致的文件打开和文件存盘对话框功能。CFileDialog的语法:CFileDialog(BOOL bOpenFileDialog,LPCTSTR lpszDefExt=NULL,LPCTSTR lpszFileName=NULL,DWORD dwFl
原创
540阅读
0评论
0点赞
发布博客于 6 年前

[笔记] 《C++ Primer(第4版)》

[第2章 变量和基本类型]事实上,有些机器上,double类型比float类型的计算要快得多。long double则通常没有必要,还要付出额外的运行代价。
原创
427阅读
0评论
0点赞
发布博客于 6 年前

[笔记] 《互联网思维独孤九剑》

P4定义:互联网思维,是指在(移动)互联网、大数据、云计算等科技不断发展的背景下,对市场、对用户、对产品、对企业价值链乃至整个商业生态进行重新审视的思考方式。P10互联网的发展过程:(1) Web 1.0,门户时代。典型特点是信息展示,基本上是一个单向的互动。从1997年中国互联网正式进入商业时代,到2002年这段时间,代表产品有新浪、搜狐、网易等门户网站。(2) We
原创
623阅读
0评论
0点赞
发布博客于 6 年前

[笔记] 《Windows网络编程(第2版)》

原创
748阅读
0评论
0点赞
发布博客于 6 年前

[系统级] 汇编实现旋转锁

windows库已经提供了旋转锁的函数,为什么我们还要自己实现呢?因为汇编快啊!加锁先定义宏:#define INTERLOCKED_INCREMENT(A,B) \ __asm mov eax,0 \ __asm mov ecx,A \ __asm mov edx,1 \ __asm lock cmpxchg dword ptr [ecx],edx \
原创
677阅读
0评论
0点赞
发布博客于 7 年前

[笔记] 《Windows核心编程(第5版)》

[第三章 内核对象]区分内核对象和用户/GDI对象的方法:几乎所有创建内核对象的函数都有一个允许指定安全属性的参数。
原创
1016阅读
0评论
0点赞
发布博客于 7 年前

[系统级] 汇编指令获取CPU信息

使用汇编指令cpuid获取CPU信息,可以得到CPU类型、型号、制造商信息、商标信息、序列号、缓存等一系列信息。cpuid使用eax作为输入参数,eax、ebx、ecx、edx作为输出参数。还用到了RDTSC指令获取CPU主频,RDTSC将处理器的时间标签计数器的当前值加载到 EDX:EAX 寄存器。//===========================================
转载
1011阅读
0评论
0点赞
发布博客于 7 年前

[系统级] 获取CPU使用率

#define _WIN32_WINNT 0x0501#include #include using namespace std;__int64 CompareFileTime ( FILETIME time1, FILETIME time2 ){ __int64 a = time1.dwHighDateTime << 32 | time1.dwLowDateTime ;
原创
1045阅读
0评论
0点赞
发布博客于 7 年前

[笔记] 《C++ Primer Plus(第6版)》

[第一章]意大利面式编程(FORTRAN、BASIC)→结构化编程(C)→面向对象编程(C++)→泛型编程(C++)结构化编程反应了过程性编程思想,两个原则:将分支(决定接下来应执行哪个指令)限制为一小组行为良好的结构;自顶向下的设计。过程性编程 OOP 泛型编程强调算法 强调数据 强调独立于特定数据类型试图使问题满足语言的过程性方法 试图让语言来满足问题的要求提供
原创
676阅读
0评论
0点赞
发布博客于 7 年前

[IDE] VS文件扩展名大全

.APS:存放二进制资源的中间文件,VC把当前资源文件转换成二进制格式,并存放在APS文件中,以加快资源装载速度。资源辅助文件。.BMP:位图资源文件。.BSC:浏览信息文件,由浏览信息维护工具(BSCMAKE)从原始浏览信息文件(.SBR)中生成,BSC文件可以用来在源代码编辑窗口中进行快速定位。用于浏览项目信息的,如果用source brower的话就必须有这个文件。可以在pr
转载
779阅读
0评论
0点赞
发布博客于 7 年前