雷鸣的网上藏身地

普通的一个博客而已

天行和他的妹妹

嗯……我已经被kitsu block掉了(



三天前,天行到我所在的学校参加ACM程序设计大赛了。
有这样好的机会,自然要出来面基一下。周六那天,天行打电话跟我说,在文化街的苹果体验店等我。于是在苹果体验店门口见了面。
临近中午,肚子都在咕咕作响,于是到了文化街二楼的一家山寨洋快餐店点了汉堡炸鸡们。

一边啃着炸鸡,就一边聊天起来。
聊着聊着说到了饭否。我说,“天行有一个叫kitsu的妹妹在饭否上吧”
的确,那个又会唱歌又会画画,据说学姐在新浪微博上看到其真相之时,几秒钟后就开始清洁起了显示器和键盘的kitsu。现在天行就在面前,我自然不能放过这个话题。
“要说‘有一个kitsu’在饭否上的话,确实也没错呢。”
这个回复让我觉得很诧异,天行有好几个妹妹?哦不对……好几个kitsu?!这究竟是怎么一回事。

“呐,你说我为什么会来参加这个ACM比赛。”天行反问道。
“一般来说不是拿荣誉吗,或者还有其他的加分政策之类,甚至保送名额……”
话还没说完,“肤浅!”天行说道。
看来,这次比赛对于天行来说,有非同寻常的意义。似乎还和kitsu有着什么关联。

“其实,这是第二个kitsu。第一个的存在,我一直保密了这么久……”天行打开了话匣子
“kitsu是我妹妹没错。从基因上来说,饭否上的kitsu是我的妹妹。”
“出生没多久,kitsu患上了不治之症,结果在懂事之前就夭折了。”天行的眼神近乎空洞,不堪回首的往事浮现眼前。
“以后绝对是个多才多艺美少女的妹妹,我不能就这么让她离去。伤心欲绝的同时,我在不断寻求方法让kitsu回来。”
“最后我求助于了黑科技,找到了传说中无所不能的,一名邪恶的科学家。人称无所不能的邪恶科学家,说了‘人死不能复生’这样让人绝望的话”天行叹了一口气
“不过我可以给你提供一个替代的方法。我会还你一个妹妹,不过你必须答应我一个条件”邪恶的科学家说。

“什么都可以,请一定要救我妹妹。”在这种状态下的天行,就算邪恶的科学家要求他付出性命,也会同意的吧。
“要你的性命,对我来说也没有什么好处。不过我现在正在研发新的黑科技,需要有算法很强的人来辅助我”说到这里,邪恶的科学家瞟了天行一眼。
“什么算法,我一定会想办法做出来”天行回答
“不,现在的你是做不到的。你现在太小了。”
“不要这样,我一定会用尽全力的!”天行哀求道
“在2011年,会有一场ACM竞赛。我给你这些时间学习必要的知识,到时候你要拿到最高的奖,作为你有足够能力协助我开发黑科技的证明。不过”邪恶的科学家停了一下,咳了一声,继续说道
“如果你拿不到奖,那么我就认为你没有能力做我的助手。那么我就只能给你一年的时间,慢慢体会和感受这个世界。之后我将用黑科技夺去全部,其中当然包括你。你愿意接受这个挑战吗。”
“只要能救活我妹妹,什么事情我都答应!”天行坚定地回答。
“我刚才说了,人死不能复生。不过,既然你以后会是我的人,为我开发黑科技,我想我现在能拿出让你满意的结果的。去把你妹妹带来吧。”

几分钟之后,天行把kitsu搬了过来。
只见邪恶的科学家把kitsu放入了一个天行从未见过的机器里。虽然害怕,但是天行只是在旁边静静看着。
“你妹妹的基因已经全部提取出来了。明天你再来,我会还你一个一模一样的妹妹的。”

“这……这就是你所说的‘第二个kitsu’吗”我吃惊地问道。
第一次听说这样的事情,虽然有所耳闻基因工程的厉害,但是制造一个完全相同的生命体,就算是现在,也还不知道能够存活多久,会不会有副作用。更何况是在十几二十年前。
“黑科技的厉害程度不是你我可以想象的”天行叹道。“接下来就是如你所见了。不过这件事情,kitsu自己都不知道的。”

“呐,知道《2012》这部电影吗”
“没有看过,但是有了解一点吧”我回答。似乎是世界末日什么的
“他说过如果没有拿奖,那么我只剩下一年的时间对吧。没想到居然还提前发来了警告……”
原来这就是“夺取全部”的吗!

“时间差不多了,3点钟我要去参加热身赛,明天就是正式比赛了。祝我好运吧,哈哈哈哈哈”

天行不是一个人在战斗。

雷鸣的网上生活 | 留言:0 | 引用:0 |

好像能比较稳定刷出来了?

之前就算是没有完全被墙,能刷出来几次
但也是打开页面以后出来一半半,至少模板什么的撑不住
再刷新就空白然后重置,这种程度
不过现在我连续刷新几次
都比较稳定没异常?

感觉是不是又可以回归了
有个博客蛮好的

最烦躁就是有人封我博客……虽然不是特定封我的,是批量的

真的是讨厌死了

雷鸣的网上生活 | 留言:1 | 引用:0 |

结果大概知道应该怎么对付vc2008那个fstream不能正常打开带有中文的路径了

得,设置区域
locale::global(locale("chs"));
解决 orz
根据系统自动选择的话,
locale::global(locale(""));

没有遇到网上说的会出现中文无法正常输出啊
技术 | 留言:2 | 引用:0 |

发现VC2008的fstream有bug

今天用fstream打开文件发现,如果路径名里面含有中文字那么会打开失败
之前好像没怎么用VC2008编译关于C++文件操作的程序或者说用了没发现

上网查了一下,还真是bug
微软的回复,貌似说是在下一个版本的VC中修复
就是说2010了呢。

于是想想看解决方案,大概用stlport来代替是可行的方案吧。

未分类 | 留言:0 | 引用:0 |

运行VC10编译出来的程序导致svchost.exe占用CPU过高

发现那个svchost其实是Windows defender在占用
觉得直接关掉Windows defender服务并不是什么好的想法
毕竟程序搞出来还是要给别人用的

一开始是发现把调试/Zi给开起来,能够使得svchost占用cpu的时间减少
原来是20秒左右,现在变成2秒多
不过还是占用了这么多,外加调试信息也不是我想要的

最后试啊试啊试出来了
把动态基址给关了就好
CL上面加上 /link /dynamicbase:no 解决

算是笔记啊经验啊什么的吧,也没有去研究到底是怎么一回事反正

代码如下


#include <winsock2.h>
#include <stdio.h>
#include <string.h>
#include <windows.h>
#include <setjmp.h>

char buf[65535];
jmp_buf jb;

enum { INITERR = 1, SOCKETERR, BINDERR };

enum { BINDREQUEST = 1, CONNECTREQUEST, KEEPALIVEREQUEST };

enum { BINDRESPONSE = 0x50, CONNECTRESPONSE = 0x51 };

enum { PORT = 10801 };

int checkDest(SOCKADDR_IN *sa) {
if(sa->sin_addr.s_addr & 0xff == 10) return -1;
if(sa->sin_addr.s_addr & 0xf0ff == 0x10ac) return -1;
if(sa->sin_addr.s_addr & 0xffff == 0xa8c0) return -1;
if(sa->sin_addr.s_addr & 0xff == 0x7f) return -1;
if(sa->sin_addr.s_addr & 0xff >= 0xe0) return -1;
return 0;
}

int main() {
WSADATA wd;
SOCKET s;

int r = setjmp(jb);
switch(r) {
case 0: {
SOCKADDR_IN sa;
int sasize;

if( WSAStartup(MAKEWORD(2,2), &wd) != 0 ) {
longjmp(jb, INITERR);
}

if( (s = socket(AF_INET, SOCK_DGRAM, 0)) == SOCKET_ERROR ) {
longjmp(jb, SOCKETERR);
}

memset(&sa, 0, sizeof(sa));
sa.sin_family = AF_INET;
sa.sin_port = htons(10801);
sa.sin_addr.s_addr = htonl(INADDR_ANY);
if( bind(s, (SOCKADDR*) &sa, sizeof(sa)) != 0 ) {
longjmp(jb, BINDERR);
}

for(;;) {
int r;
memset(&sa, 0, sizeof(sa));
sasize = sizeof(sa);
r = recvfrom(s, buf, 65535, 0, (SOCKADDR*) &sa, &sasize);

if( r < 1 ) {
printf("receive error from %s\n", inet_ntoa(sa.sin_addr));
} else if( buf[0] == BINDREQUEST ) {
printf("receive bind request from %s\n", inet_ntoa(sa.sin_addr));
buf[0] = BINDRESPONSE;
memcpy(&buf[1], &sa, sizeof(sa));
sendto(s, buf, sizeof(sa) + 1, 0, (SOCKADDR*) &sa, sizeof(sa));
} else if( buf[0] == CONNECTREQUEST && r == 1 + sizeof(sa) ) {
SOCKADDR_IN dest;
printf("receive connect request from %s\n", inet_ntoa(sa.sin_addr));
buf[0] = CONNECTRESPONSE;
memcpy(&dest, &buf[1], sizeof(dest));
if(checkDest(&dest) == 0) {
memcpy(&buf[1], &sa, sizeof(sa));
sendto(s, buf, sizeof(sa) + 1, 0, (SOCKADDR*) &sa, sizeof(sa));
} else {
puts("bad request!");
}
}
Sleep(50);
}

break;
}
case INITERR: {
puts("Can't initalize network");
break;
}
case BINDERR: {
puts("Error occur when try binding port");
closesocket(s);
}
case SOCKETERR: {
WSACleanup();
break;
}
}
}


未分类 | 留言:1 | 引用:0 |
| 主页 |下一页>>