Archive for the ‘【小工具】’ Category

PPS解析器

PPS缓存解析器(PPSCachePaser)是Y&D Studio开发的一款解析PPS缓存文件(ppsds.pgf),并可以从中提取已下载完毕的视频资源的小软件。

由Y&D Studio Higher于2011-04完成Ver1.0开发,采用Yarpee 2010-10 PPSCachePaser核心。

本地绿色下载:PPSCacheParser

KHelper Beta

KHelper 金山毒霸助手 V1.0 Beta是一款旨在帮助金山毒霸(2009、2011)用户快速便捷申请金山通行证的绿色小小小软件。

该软件为金山毒霸2009用户免费申请120天、180天金山通行证;为2011用户免费申请90天金山通行证。

如您使用的版本不是2009、2011,也可尝试使用本软件。并在方便的情况下将结果告知作者。

该软件系个人编程习作,仅供编程探讨交流,请勿用作其它用途,否则后果自负。

该版本为测试版本,可能会出现不稳定情况。如因此造成的损失,使用者自负责任。

下载

最新更新:

KHelper 金山毒霸助手 V1.1 Beta

为2011用户免费申请366天金山通行证

最新V1.1 Beta下载

Lex Version0.4 class Heap

Lex Version0.4到此为止已经完成了编译原理的实验,实现了从词法分析到语法分析再到语义分析生成三地址码的过程。

class Heap部分根据语义分析生成三地址码的需要进行了部分修改。全部代码稍后放出。

#ifndef _HEAP_H_
#define _HEAP_H_
class Heap {
private:
 int syn[100];//存储词法分析后的符号表种别码
 char token[100][10];//存储词法分析后的符号表词素
 int head, tail;//游标,head表示当前使用的位置,tail表示当前可用的第一个位置。
public:
 Heap();
 ~Heap();
 int first();//head=0并返回该syn。-1表示失败。
 int prev();//head前移并返回该syn。-1表示失败。
 int next();//head后移并返回该syn。-1表示失败。
 bool append(int, char*);//加入syn和token
 char* getToken();//获得当前词素
};
#endif

#include "StdAfx.h"
#include "Heap.h"
#include <string.h>

Heap::Heap()
{
 for(int i = 0; i < 100; i++)
  syn[i] = -1;
 memset(token, 0, sizeof(token));
 head = tail = 0;
}

Heap::~Heap()
{

}

int Heap::first()
{
 head = 0;
 return syn[head];
}

int Heap::prev()
{
 if(head == 0)
  return -1;
 return syn[--head];
}

int Heap::next()
{
 if(head == tail - 1)
  return -1;
 return syn[++head];
}

bool Heap::append(int tempsyn, char* temptoken)
{
 if(tail >= 100)
  return false;
 syn[tail] = tempsyn;
 strcpy(token[tail++], temptoken);
 return true;
}

char* Heap::getToken()
{
 return token[head];
}

SMTP

参考资料:

http://hi.baidu.com/kwunkuklan/blog/item/455f121749120a044b90a75e.html

http://tool.chinaz.com/Tools/Base64.aspx

TCP/IP课要求写个程序用SMTP发送一封邮件。telnet试验了下163和新浪的SMTP。下面为过程(163的SMTP貌似有限制,新浪的可以发送成功):

telnet smtp.163.com 25
HELO 163.com
AUTH LOGIN
dXNlcm5hbWU6(username:)
base64加密后的用户名
UGFzc3dvcmQ6(Password:)
base64加密后的密码

telnet smtp.sina.com.cn 25
HELO
AUTH LOGIN
VXNlcm5hbWU6(Username:)
base64加密后的用户名
UGFzc3dvcmQ6(Password:)
base64加密后的密码
MAIL FROM: <***@sina.com.cn>//邮件发送地址,不可伪造
RCPT TO: <***@qq.com>//目的地址
DATA
TO://目的地址,可伪造
FROM://发送地址,可伪造
SUBJECT:
.
QUIT

注意:可能小小的输入错误都会导致操作不成功。代码暂时就不贴了。

Lex Version0.2 class Heap

#ifndef _HEAP_H_
#define _HEAP_H_
class Heap {
private:
 int syn[100];//存储词法分析后的符号表
 int head, tail;//游标
public:
 Heap();
 ~Heap();
 int first();//head=0并返回该syn。-1表示失败。
 int prev();//head前移并返回该syn。-1表示失败。
 int next();//head后移并返回该syn。-1表示失败。
 bool append(int);//加入syn
};
#endif

#include "StdAfx.h"
#include "Heap.h"

Heap::Heap()
{
 for(int i = 0; i < 100; i++)
  syn[i] = -1;
 head = tail = 0;
}

Heap::~Heap()
{

}

int Heap::first()
{
 head = 0;
 return syn[head];
}

int Heap::prev()
{
 if(head == 0)
  return -1;
 return syn[--head];
}

int Heap::next()
{
 if(head == tail - 1)
  return -1;
 return syn[++head];
}

bool Heap::append(int tempsyn)
{
 if(tail >= 200)
  return false;
 syn[tail++] = tempsyn;
 return true;
}

无觅相关文章插件,快速提升流量