- 博客(340)
- 资源 (12)
- 问答 (1)
- 收藏
- 关注
原创 inline assembly
GCC-Inline-Assembly-HOWTOInline Assembly with DJGPPLinasm - Linux Assembly
2024-02-01 10:27:28 143
原创 C++何时使用引用,何时使用指针?
如果你有一个变量,其目的是用来指向另一个对象,但是也有可能不指向任何对象,那么你应该使用pointer,因为你可以将pointer设为nullptr。如果这个对象必须代表一个对象,也就是说你的设计不允许这个对象为null,那么你应该使用reference....
2021-09-13 23:32:39 333
原创 C++ const与指针的修饰顺序
如果关键字const出现在*左边,表示被指物是常量;如果出现在*右边,表示指针本身是常量;如果出现在*两边,表示被指物和指针都是常量。char greeting[] = "Hello"char *p = greeting; // non-const pointer, non-const dataconst char* p = greeting; // non-const pointer, const datach...
2021-08-06 00:56:42 341
原创 优雅地合并冲突
git push时发现有冲突,保持原commit的完整性,使用优雅的命令:git pull --rebasegit pull --rebase #衍合服务器最新代码git status #查看有哪些冲突的文件vi 冲突文件 #打开文件后搜索<<<<<<<与>>>>>>>之间的内容,就是冲突的地方,修改冲突行,保存退出。git add 冲突文件 #添加修改后的文件到缓存区git rebase --continue
2021-07-20 16:29:32 117
原创 由std::common_type知道的?:运算符的不为人知的规则
std::common_type的原理大概是true? A : B, 而true是个常量,为啥A : B的类型是common type呢?这里参见:https://docs.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2012/e4213hs1(v=vs.110)?redirectedfrom=MSDNRemarksThe conditional operator (? :) is a ternary oper
2021-07-19 17:58:50 354 1
原创 MySQL将数据按周聚合(自定义周的起始日)
$week_start = 0 // 0- 6: 周日-周六SELECT: if ($week_start == 0) { $_date_show_ = "CONCAT_WS('~', subdate(Fdate,date_format(Fdate,'%w')-$week_start), subdate(Fdate,date_format(Fdate,'%w')-$week_end
2017-12-07 13:18:24 4377 1
原创 时间序列线段树
可以以O(log2(n))的时间复杂度处理任何日期序列的区间点修改和统计问题,例如维护区间和、区间内最大最小值平均数、区间内最大公因数、区间内的逆序数个数。以下为一个维护时间序列RMQ(区间最小值)的例子<?php/** * Description: 时间序列线段树 * */define("INFINITE", pow(2, 64));class TSSegTree {
2017-01-23 11:12:52 1179
原创 Freedom and discipline
自由与自律 所谓自由,不是随心所欲,而是自我主宰。 --康德词典中对自由的定义是:在法律规定的范围内,随自己意志活动的权利。康德的道德哲学理论中,人作为理性存在物,其意志应当是自由的,自由是人的一种天赋权利,是每个人由于他的人性而具有的独一无二的、原生的、与生俱来的权利。一个人只有作为纯粹意志存在物而不是作为一个自然的存在物,他才是自我决定的,才能“为自己立法”,才能在立法时不服从异己意志。简
2016-09-08 12:05:58 1397
原创 利用gcc对C语言的语句内嵌表达式扩展定义lambda宏
/* * 不支持g++和clang * */#include #include #include // 定义lambda宏#define lambda(return_type, function_body)\({\ return_type $this function_body\ $this;\})#define $ lambda#
2015-11-30 10:18:58 2483 1
原创 在22岁的某个夜里怀念高中的某一天
下午写代码的时候脑子一片混沌,沉闷的气氛感觉分外烦躁,手上没解决的问题也多的让人心烦。旁边的同事打开了窗子,外面的热风吹着隔壁工地的灰尘进来。这感觉突然就像高中的某个下午,一边幻想着别的事情一边糊涂地做完一份试卷交掉然后坐在自己的课桌上,在草稿纸上涂涂画画。值日的同学已经开始打扫除,灰尘弥漫在整个教室里.我还是赖在座位上,幻想着哪天高考完了,可以认真学一遍VC++,去一个软件公司当程序员,可以开发
2015-08-31 08:27:36 1219 4
原创 在闵大荒的某个晚上
封陪的第三天。“电子运动会”狂欢后的晚上,快结束时一个人走回房间。还是不想看书,于是默默到阳台上抽一根烟。风吹得好凉快,原来传说中很热的上海的夏天也不过如此。远处好像有好多星星,仔细看了一下证明还是我想多了,只是盘旋在空中等待降落虹桥机场的飞机而已。孤独感好像又来了。所以我还是去看会书吧。
2015-08-05 22:29:38 1107
原创 x64cpu与IA32cpu中通用寄存器的差异
整理一下IA32处理器和x86-64处理器中通用寄存器的差异。 IA32既支持32位处理器,也向后兼容16位寄存器。IA32把16位的通用寄存器,标志寄存器和指令指针寄存器扩充为32位。段寄存器仍为16位。IA32 CPU中包含一组8个32位通用寄存器,用来存储整数数据和指针。它们的名字以%e开头,可以理解为对16位的extend。 这8个寄存器分别为eax, ebx,
2015-07-29 00:55:37 4970 1
原创 使用位运算判断两个int值是否相等
int judge(int x, int y) { return !(x ^ y);}如果x和y相等,则各位都相等,异或值为0,取反即可
2015-07-03 23:40:18 8430
原创 使用异或交换指针的值
#include #include void inplace_swap(int *x, int *y) { *y = *x ^ *y; *x = *x ^ *y; *y = *x ^ *y;}int main() { int x = 12; int y = 23; inplace_swap(&x, &y); printf
2015-07-03 00:45:31 1642
原创 醉笑陪公三万场,不用诉离觞
楼高日尽 望断天涯路 来时陌上初熏 有情风万里卷潮来 推枕惘然不见 分携如昨到处萍漂泊 浩然相对今夕何年 谁道人生无再少 依旧梦魂中 但有旧欢新怨 人生底事往来如梭 醉笑陪君三万场 不诉离伤 禅心已失人间爱 又何曾梦觉 这些个千生万生只在 踏尽红尘何处是吾乡
2015-07-01 11:19:03 1167
原创 也不知道怎么说
前天的时候在建湖和yw约会,又一次向她表白了,可是还是失败了。其实自己心里很清楚她不喜欢我,可是还是控制不住自己。其实我想明白了。她现在没有男朋友,那么我还是她的合法追求者。如果她哪天有了男朋友,那我绝不再去打扰她,并且永远祝福她。真的好喜欢,我愿意为她努力改变自己变得更好。我们都是在追求美好的爱情,谁也没有错。就算最后输了那又怎么样。所以我还会努力争取,同时要让自己变成一个更好的人。至于
2015-07-01 00:05:25 598
原创 答辩结束了
一直想做一个交易所撮合交易系统,苦于没有时间和机会。终于到了大学最后一学期的毕业设计,我果断选了朱斐一个水题,然后申请换题改成了自己想做的撮合引擎。毕业设计的题目就叫《通用金融证券撮合交易引擎的设计与实现》,总共历时3个多月,写了一万多行代码及论文相关文献。刚开题的时候我在织网下载了不少和撮合交易系统相关的论文,基本上系统地看了一遍,大体上了解了撮合交易系统的架构。3月的时候开始动工写代码,技
2015-06-05 01:08:17 1895 7
原创 终于懂得孤独是躲不开的单行道
6,7年前,当我还是个中学生的时候,每当晚上做完作业,看不进书时,都喜欢打开收音机,听着里面主播精选的情歌,或伤感或欢快。主持人和嘉宾讲述自己的生活、故事、还有情感困扰,我静静聆听,就好像看着另一头的世界。多彩、丰富、新鲜,充满了跌宕起伏,还有爱恨离别。而我总是这样听着,那时候除非放假回老家,不然都用不了电脑,也上不了网。我也会跟着幻想,等我高考结束,上了大学,生活将会怎么样? 没有老师和父母
2015-04-06 22:14:05 934
原创 这阵子的快乐和不顺
过年回来快一个月了, 因为组织架构的调整暂时没有什么事情可以做.不出意外的话我和yabo还有donxu将留守videoad的灯塔,原来的老板和经验足一点的同事组建新的中心. 突然就没人罩了,不过又有了新的机会.房租涨到了2200,感觉有点负担,就换到了隔壁1600的小房间. 一下子从大房间换到小房间确实有点落差, 整个空间都压抑了好多. 不过到底每月能省些钱买股票或者想买的东西了.毕设做的
2015-03-19 21:17:33 651
原创 适配器模式
将一个类的接口转成客户所希望的另外一个接口.使得由于接口不兼容而不能一起工作的类可以一起工作.在系统的数据和行为都正确, 但接口不符时, 应当考虑使用适配器, 主要应用于希望复用一些现存的类.Client ----> Target Adapteeclass Target { public void Request() { System.out.
2015-03-07 02:05:22 617
原创 观察者模式
又称发布-订阅模式, 定义了一个一对多的依赖关系, 让多个观察者对象同时监听某一个主题对象. 这个主题对象在自己的状态发生变化时, 会通知所有的观察者对象,让它们能主动更新自己.解偶的实现: 定义一个抽象主题接口,把所有观察着对象的引用保存在一个序列中, 每个抽象主题都可以有若干个观察者对象的引用. 抽象主题提供一个主题,可以在具体主题中实现观察着的增加和删除定义一个抽象观察者接口,
2015-03-07 01:33:15 635
原创 模板方法模式
模板方法模式,定义一个操作中算法的骨架,把一些步骤延迟到子类当中.模板方法可以使子类不改变一个算法的结构即可重新定义算法某些特定步骤.使用继承将重复的代码放在父类中,将特定的代码延迟到子类中. AbstractClass实现模板方法,定义算法的骨架公共内容, 在ConcreteClass中实现具体的相关算法import java.util.*;abstract class
2015-03-07 00:04:52 572
原创 外观模式
外观模式,为子系统中的一组接口提供一个更一致的界面,定义一个高层接口,这个接口使子系统更加易用. 使用外观类组合子系统的方法调用.用于将系统业务中不同层次的业务分离,便于维护import java.util.*;class SubSystem1 { public void method1() { System.out.println(" SubSystem1 m
2015-03-06 01:19:51 580
原创 抽象工厂模式
抽象工厂模式其实是一种最一般的工厂模式形态,简单工厂模式和工厂方法模式都可以看成抽象工厂模式的特殊实现.抽象工厂模式提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类import java.util.*;interface Ifunc1 { public void work1_1(); public void work1_2();}interfac
2015-03-06 01:07:01 609
原创 工厂方法模式
在普通的简单工厂方法中,简单工厂在创建对象时进行了必要的逻辑判断,选择实例化相关的类,但是这个操作违背了开闭原则,每次添加一种新的类型都需要修改工厂类. 所以可以使用工厂方法模式将实例化这个行为延迟到其子类,定义一个用于创建对象的接口,让接口的子类来决定实例化哪一个类. 如果添加新的类型,只需要添加新的类型的工厂就可以了.IFactory -- 工厂接口一个具体的Operatio
2015-03-05 01:49:57 501
原创 策略模式
由策略抽象类或接口定义出一系列具体算法, 分别封装起来, 让各种算法策略之间可以相互替换, 让算法的变化不会影响到算法的客户. 使用上下文对象维护对算法对象的引用import java.util.*;interface Strategy { public void Algorithm();}class ConcreteStrategyA implements Strategy
2015-03-05 01:22:52 483
原创 简单工厂模式
把对象的实例化工作延迟到工厂类中进行import java.util.*;abstract class Operation { public abstract void Operate(); }class Operation1 extends Operation { public void Operate() { System.out.p
2015-03-05 00:41:46 551
原创 记于2015年大年初四
三十和年初一都是在家过的, 爷爷还有我和爸妈. 就是很平常的吃吃饭, 没有说太多的话. 跟以往两年差不多, 感觉年味已经递减到一个边界了. 很平常或者稍许热闹的环境, 还是那种寂寞无所事事的感觉.祝福短信啥的数量也一年比一年少, 毕竟熟人都一直在微信里, 自己的号码也随着曾经朋友同学们换手机换号不断被丢失了. 岁月年轮不停转动, 与以前那些同窗岁月里挚友们渐行渐远, 大家都各奔前途去了, 可怕
2015-02-22 17:00:19 1066
原创 Java方法调用绑定
将一个方法调用同一个方法主题关联起来称作绑定.若在程序执行前进行绑定叫做前期绑定,C语言只有一种绑定方式就是前期绑定.后期绑定就是根据运行时对象的类型进行绑定.后期绑定也称为动态绑定或者运行时绑定. 如果某语言实现后期绑定(C++,java),必须具有某种机制,以便在运行时能进行对象识别,从而调用恰当的方法. 也就是说,编译器一直不知道对象的类型,但是方法调用机制能找到正确的方法体,并加以
2015-02-17 00:00:22 1048
原创 Java中的两种GC方式
取决于JVM的实现:1.停止-复制stop and copy暂停程序运行,把所有存活对象从当前堆复制到另一个堆,复制到新堆时保持紧凑排列,没有复制的全是垃圾. 效率较低2.标记-清扫mark and sweep从堆栈和静态存储区出发,遍历所有引用,找出存活对象,全部标记完后,对没有标记的堆中的对象进行释放,不发生复制动作.
2015-02-14 23:49:23 2088
原创 回家前的周六晚上
一个人独自看着论文.在想要不要再换个房子,附近梅陇小区同样的价钱可以租一个45平的一室户了. 独自在上海的这半年经历了很多事情,终于春节要回家了.没什么可以详述的,都是些生活点滴.对未来还是一样迷茫.而我已经23岁了. 再过了这半年就要毕业了,预毕业快乐
2015-02-07 18:02:25 609
原创 smalltalk五个特性
1.万物皆为对象2.程序是对象的集合,通过发送消息来告知彼此要做的事情(消息是某个特定对象对特定方法的调用)3.每个对象都有自己的由其他对象构成的存储(对象的组合,通过组合创造新对象)4.每个对象都拥有其类型(每个对象是对应类型的实例instance)5.某一特定类型的所有对象可以接收同样的消息(多态性)对象具有状态\行为和标识
2015-01-31 15:29:31 1732 1
原创 第一个mapreduce程序WordCount
提交于http://cloudcomputing.ruc.edu.cn/Chinese/problempage.jsp?id=1000package cn.edu.ruc.cloudcomputing.book.chapter05;import java.io.IOException;import java.util.StringTokenizer;import org.apache
2015-01-14 17:00:20 1216
进程的内存使用情况 苏州大学操作系统作业 孙俊彦大神
2014-06-09
MFC进程内存使用情况察看器
2014-06-09
苏州大学操作系统实验进程调度 孙俊彦
2014-04-14
苏州大学操作系统实验-进程间通信-孙俊彦大神
2014-04-03
django安装后使用 mange.py错误,求解
2015-07-10
TA创建的收藏夹 TA关注的收藏夹
TA关注的人