万星星@豌豆荚 欢迎加入我们
一个吃软饭的男人!!!!!我只想写程序####
微博:http://weibo.com/wanlianwen
posts - 172,  comments - 1253,  trackbacks - 0
    对于写程序我似乎有一些洁僻,看不惯杂乱无章的代码。有时候想不明白,为什么连一个字符串都有那么多版本,而且一直都被面试者所追捧。再看看老美们在作些什么,自己真是汗颜!
    非常喜欢java的代码风格以及结构,网上搜索了一下,发现了acdk这个开源库,下载来一看确实不错。它是个采用C++写的符合Java使用习惯的一套平台独立的分布式程序开放框架,从底层lang io local到net、security再到xml以及所有脚本语言的支持以及com javabean corba等,对GUI略有支持。看上去非常不错,打算学习一段时间之后,希望能把自己的一些积累的技术融入进来。

   
#include <acdk.h>
#include 
<acdk/lang/System.h>

#pragma warning
//static 
int acdkmain(RStringArray args)
{
    
try
    
{
    }

    
catch(RThrowable ex)
    
{
    }

    
    
return 0;
}





int main(int argc, char* argv[], char** envptr)
{
    
return acdk::lang::System::main(acdkmain, argc, argv, envptr);
}

下班了,没时间写了,晕。第一个,看不出太大区别。


Go on......  当然任何技术提供服务的同时,你必须遵守它的一些玩法。下面是一些初步尝试,走马观花过一些基本概念,看看最基本的特性。

创建对象:
RStringBuffer sb = new StringBuffer();
acdk实现了基于引用技术的自动内存管理方式,当然你得按照它的规则来玩:即使用R类的引用对象把原生的对象指针Hold住,看起来还算舒服。当然调用方法你就得使用指针来操作(符合C++习惯):
sb->append("Hi");

调用静态方法:
RString str = String::valueOf(3.4);

对象的引用技术为0的时候,会自动销毁。通常是计数对象出作用域或者赋值Nil的时候,可以销毁对象。

很自然的,R系列的对象都符合引用原则,即赋值的时候,仅仅改变内部原始_ptr指针以及引用计数:
RStringBuffer sb1 = new StringBuffer("A");
    RStringBuffer sb2 
= sb1;    // sb2 contains the same StringBuffer instance
    sb2->append("C");
    sb1
->append("DK");            // StringBuffer now contains "ACDK"

假如想拷贝一份内部对象,可以这样:
RStringBuffer sb2 = sb1->clone()

一般情况下,方法的参数以及返回值类型使用引用类型,即R类:
RInteger myParse(RStringBuffer arg)
{
    RString str 
= arg->toString();
    RInteger erg 
= new Integer(Integer::parseInt(str));
    
return erg;
}

posted on 2007-12-24 17:41 万连文 阅读(994) 评论(0)  编辑 收藏 引用 所属分类: ACDK

只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


简历下载
联系我

<2007年12月>
2526272829301
2345678
9101112131415
16171819202122
23242526272829
303112345

常用链接

留言簿(66)

随笔分类

随笔档案

相册

搜索

  •  

最新评论

阅读排行榜

评论排行榜