‘Programming’ 分类的存档

今天看到vgod的Change The World,才发现他是Sikuli的发明人之一,关于Sikuli可以看这样一个视频

我喜欢用AutoIt做一些简单的自动化,看到Sikuli就像看到一个更加易用的AutoIt(我暂时只想到这个比喻)

不过vgod那篇文章,我最喜欢就是他结尾那一段:

我一直夢想著要做些不一樣的事情來改變世界,徹底發揮我的長處做出能夠對世界產生巨大影響力的東西。還記得三年前我在申請MIT時,在SOP上大膽的寫了 我的目標「I believe that programming environments should be smarter and more intuitive, and it is my goal to reinvent one that allows beginners to learn easily and adepts to be more productive.」,而三年後的今天,我非常興奮我踏出了改變世界的第一步。

2010年1月26日01:14 | 没有评论
分类: Programming

推荐书名为: Pro PHP Patterns Frameworks Testing and More的一本书,google一下必定找到相关的英文电子书版本。 另外,很意地发现有Slackware for ARM,详情请看看http://slackware.com/

2009年7月15日23:51 | 没有评论
分类: Programming

XML库方面,我知道的有expat、libxml2、tinyxml和minixml。 听说expat应用很广,但我没有用过……libxml2这个东东给我的印象是拥肿。 我今天推荐后两者,一个是基于C++编写的tinyxml库,另一个是基于C编写的minixml库。 我自己最常用的是tinyxml,此库用C++进行封象,适度的面向对象,命名很人性化,是一个很不错的选择。但这个库的Makefile没有带编译为动态库的方法,要编译为动态库,只要把Makefile相关行改为: DEBUG := NO TINYXML_USE_STL := NO # 个人认为没必要加入STL的支持 RELEASE_CFLAGS := -Wall -Wno-unknown-pragmas -Wno-format -O3 -fPIC LIBS := -shared -s OUTPUT := libtinyxml.so SRCS行去掉xmltest.cpp 然后保存,make即可生成libtinyxml.so,以后只要include自带那两个h头文件即可使用tinyxml库了 另一个推荐的是minixml库,这个库的出现是因为很多时候没必要用libxml2这个拥肿的东西(听说有10万行, minixml才三千多行)。 这个库我暂时还没用过,有时间会试用一下。这个为自带configure,配置、编译都非常方便,而且是纯C的,所以对各种应该都比较合适,CUPS就是使用minixml库的。 两个库都是很轻量级的,tinyxml编译成动态库后不到78K(O3优化),minixml为44K(Os优化),而且都可以用于windows,因为都自带VC工程文件,可以选择合自己口味的,have fun~

2009年7月4日00:13 | 没有评论

基于C++的面向对象封装,小巧高效,极易上手~ http://www.grinninglizard.com/tinyxml/

2008年10月31日17:22 | 没有评论
分类: Programming
标签: , ,

[C/C++] – Tips for Better Coding Style 关于更好的编程风格的建议 (v1.0) Translated By Phoenix(phoenix8848@gmail.com) In this entry, I show you 4 tips that address frequently asked questions from C++ programmers of all levels of expertise. It’s surprising to discover how many experienced programmers are still unaware of the deprecation of the .h notation of standard header files, [...]

2008年9月16日01:22 | 没有评论
分类: Programming

这个东东前段时间就开源了,最近也有理新,请到http://code.google.com/p/protobuf/看看 格式.proto文件定义也是简单明了的,起码不比xml定义难,还自己串行化接口,不本地和远程的传输都能轻松应付。高效是其一个大亮点。现在有c++、java和python三种语言的接口,可以看http://code.google.com/apis/protocolbuffers/docs/tutorials.html

2008年9月5日02:33 | 没有评论
分类: Programming

许式伟 (版权声明) 2007-3-3 回调函数(callback)与仿函数(functor)很多时候从用途上来看很相似,以致于我们经常将它们相提并论。例如: inline bool compare(int a, int b) { return a > b; }   struct comparer { bool operator()(int a, int b) const { return a > b; } };   void main() { std::vector<int> vec, vec2; std::sort(vec.begin(), vec.end(), compare); std::sort(vec2.begin(), vec2.end(), comparer()); } 仿函数(functor)之所以称为仿函数,是因为这是一种利用某些类对象支持operator()的特性,来达到模拟函数调用效果的技术。 如果这里vec, vec2这两个vector的内容一样,那么从执行结果看,使用回调函数compare与使用仿函数comparer是一样的。 那么,我们应该用回调,还是用仿函数? 很多人都说用仿函数吧,回调函数是丑陋的,代码不太象C++风格。 但其实问题的本质不是在代码风格上,仿函数与回调函数各有利弊,不能一概而论。 仿函数(functor)的优点 我的建议是,如果可以用仿函数实现,那么你应该用仿函数,而不要用回调。原因在于: [...]

2008年7月28日01:22 | 没有评论
分类: Programming

今天和牛人同事cml讨论指针引用(其实是他告诉我的),像下面代码: void *p = NULL; int *pi = NULL; pi = (int *)p; 这个我想大家都知道,再来: void *p = NULL; int *pi = NULL; (void *&)pi = p; 哈哈,其实和上面是一样的,为什么呢?我开始也没反应过来,后来cml说(void *)pi后是一个临时变量,所以要再引用一下才能改变实际的值。就像swap(int &i, int &j)这样,但上面的例子还是建议写成右值版本而不是左值版本。 这样的话,之前所说的一个myfree3版本可以这么写,当然要C++哦,因为C里是没有引用这个概念的: myfree3(int *&p) { free(p); } 也是行得通的,得益于引用这个东东。

2008年7月16日00:11 | 2 条评论
分类: Programming
标签: , , ,

学过C++的人都知道,有如下的写法: int fun(int &i) {     i = 0;     return 0; } 这可不是C的东东,C里面没有引用这个东东,就是你得改写成指针参数: int fun(int *i) {     *i = 0;     return 0; } 好了,再看一个example: void myfree1(char *p) {     free(p); }   void myfree2(char **p) {     free(*p); }   char *p = (char *)malloc(100); myfree1(p);    // 失败 myfree2(&p);  // 成功 记得哦,C函数所有参数均以“传值调用”,你直接对传进来的东东进行修改,只修改其拷贝。myfree1之所以失败,是因为函数中的p是一分copy,地址和申请内存空间的地址已经不一样了,你free的肯定不是申请的空间地址,至于这样会不会引起段错误,还没有考证过(理论上有这样的机率);myfree2里的p也是一份copy,但*p就是申请空间的地址,这里free当然如我们所愿了。更深地的,你可以直接把各个p值打印出来看看。 传数组有点不一样,数组名本身就是一个指针,在函数里我们都是以数组下标或指针反引用的形式对数组指针进行操作,所以这是正确的,再想想,和上面所说的一点也不矛盾。 [...]

2008年7月14日00:41 | 5 条评论
分类: Programming

在Toplanguage上的Is C++ still relevant? 引来口水丈 其中pongba老大发了两个链接, 能说明一些东东的: The Programming Languages Beacon C++ Applications

2008年7月12日01:10 | 1 条评论
分类: Programming
Page 1 of 212