Legend Since 1984
Cruising between Fantasy and Reality...

Friday, January 19, 2007

Compile Pallyc Code Online

Now Pallyc source code could be compiled online.

I use PHP to construct to web page that execute the compiler running on the behind. Thanks to my web server provider Bluehost which provides a virtual Linux environment with gcc/g++ pre-installed. And SSH login helped me to quickly test my compiler online.


Try the new nested function style and compile it online at URL: www.pallyc.org/pallyc/compileform.php

Labels: ,

Sunday, May 21, 2006

MFC First Trial

以前用ANSI C++写过不少字符界面下程序。最近突发奇想,想把这些纯C++代码都移植到Windows GUI界面下。在没有耐心研究MFC的日子里,只能靠C#勉强度日。不过手工翻译C++到C#也不是一件随时到充满兴奋得工作。而且C#基于CLR中间运行时,不能指望每台机器上都有.NET Framework吧。而MFC是基于Native Code,执行速度继承了C++天生的优势;而且支持类库的静态编译,即使客户机上没有安装MFC的.dll,目标代码一样可以执行。

昨天半个下午加晚上研究了一下MFC的图形界面编程,今天捣鼓了一上午,把原来写的一个处理商人过河问题的字符界面程序移植到了MFC中。

1. 把自己写的模版类Stack和List用标准的STL类替换。分别是std::stack和std::vector。

2. 把原来的全局函数、全局变量都封装到一个类中,命名为TransactionHandler。
全局变量作为私有成员变量。
除main之外的函数作为私有方法。
main函数改写为公有方法void Run(void)。
原来需要进行输入的变量发到TransactionHandler的构造函数中进行初始化。
原来需要在屏幕上进行输出的内容用一个或多个公有成员来存放,这里使用的是一个STL容器。

3. 使用。
在MFC生成的处理按钮点击的函数中声明一个TranscationHandler,把必要的从图形界面下取得的参数传递给TransactionHandler的构造函数。
执行TranscationHandler.Run()。
之后可以在TranscationHandler的对象中提取运行的结果。比如把这些结果放到一个ListBox列表框中进行显示。
如果TranscationHandler.Run()有抛出异常,将在外部进行捕获。

没用MFC之前也移植过以前数据结构课设中写的Huffman编码的程序。不过图形界面是基于C#和.net framework的。必须手工把C++代码翻译成C#。现在直接用一个类对原先的事物处理逻辑进行封装,在调用MFC进行图形显示,实在是方便多了。


Posted by Picasa

MFC静态编译版本

Labels: ,

Thursday, April 20, 2006

SonicTech最新奉献——Easy Code Count V1.0.0.3

大虾心中什么衡量是程序员水平的标准?
答案路人皆知——当然是代码量!

作为一名懒惰的程序员,难道有人会手工对每个文件逐个加和?

SonicTech最新力作——Easy Code Count横空出世:

Easy Code Count是SonicTech旗下首个开源工具
Easy Code Count帮你统计曾经呕心沥血敲出来的代码行数
Easy Code Count帮你按程序语言分类统计
Easy Code Count帮你自动排除代码注释

注:Easy Code Count使用Visual C# 2005开发
请先安装.Net Framework 2.0
下载地址:http://www.crsky.com/soft/4818.html
Easy Code Count安装后需在“添加删除应用程序”中卸载

Posted by Picasa

下载地址:
安装文件 Easy Code Count_1_0_0_3.rar
绿色版 Easy Code Count_1.0绿色版.rar
Source Code请Email联系

Labels: ,

Thursday, December 01, 2005

Huffman编码示例C#版

花了大半个下午终于实现了这个图形界面(GUI)的Huffman编码程序。
这是以前数据结构的一个实验,当时用C++写的,控制台输入。老早就想做个GUI的前端,无赖MFC太复杂,没有时间去啃。 微软花了不少力气想把C++弄到它的.NET平台上,推出了一个所谓Managed C++(托管C++)的东西。看程序员杂志上对这个东西吹得神乎,不过最打动我的还是对ANSI C++代码的兼容性。既然如此,想必把以前的代码移植到Managed C++下应该比较轻松吧。由于在Managed C++有.NET库的支持,写图形界面非常容易,看来是个不错的选择。
俗话说得好,梦想与现实总是存在差距的。原先以为稍微改改代码再加上个图形前端就可以了,不料在底层出现了兼容性问题——我以前的代码无法在托管环境下使用,天哪,这要改的话估计80%的函数都不能幸免!莫非这就是所谓的“对ANSI C++天生优良的兼容性”??
罢了罢了,好在我还留了一手,C#派上用场了。把C++代码一句句翻译成C#的其实也是中享受。C#中实现了大量的基础数据结构,像什么Hashtable、Stack对我来说实在太有用了。翻译完的C#代码比C++看起来优雅多了。再写过GUI Front什么简直就是小菜一碟,哈哈。最后再美化一下界面,一个小小的应用程序就出炉了~~

Just have a try! Click Here
Notice: 请先安装Microsoft .NET Framework

Posted by Picasa

Labels: ,