我工作中接触到的所有的IT知识所形成的思维导图,掌握和需要去掌握的,留此存照,会根据知识的更新持续更新。

图片太大,如果100%,页面无法显示. 100%图可以通过以下方式查看:图片上,右键,查看图片,可以单独看到,并能放大缩小~~

Continue reading »

 

在最近的arm开发中,因为一些特定的需求,需要使用从C文件中调用以前C++程序中的类和方法。参考网上的一些资料,本文1将相关的知识点简要总结如下:c&c++混合编程的注意事项,在c++函数中调用c函数的方法,在c函数中调用c++函数的方法,在c函数中调用C++对象及其中数据的方法。并在本文的末尾给出C和C++混合编程的例子,例子分别以Makefile和VC6.0工程的形式展现。 Continue reading »

 

手机的J2ME程序需要很多的弹出窗口。如“正在下载,请等候”,“确认退出?”,等等。LWUIT提供了很方便的机制Dialog。 oDialog类的路径为com.sun.lwuit.Dialog,提供了能够方便弹出窗口的函数show(),共计15个。参数最少四个,最多有八个。可控制的标题文字,提示文字,ok键显示文字,cancel键显示文字,弹出时提示类型,弹出停留时间,图标等等,可以说相当强大滴。

弹出窗口

最近我们项目遇到一个问题:窗口弹出需要时间太长,几乎是用户可以感觉到的时间。比如,我希望用户在点退出键后,弹出对话框,询问用户是否确认弹出,以避免不小心的弹出。于是代码中以下片段(简化版)

PopupDialog.show(
"确认退出?",
"确认退出?",
"是",
"否"
);

但是此代码在运行时,按键后感觉过了好一会才会弹出,如果我是用户,我认为这么长的等待时间是不可忍受了,有那么一下子,我甚至认为手机死机了,这个必须要加速。

顺便,我们认为那个标题栏是多余的,当然如果没法去掉留着,也无大碍。

那么问题就是:如何给弹出的窗口加速,同时最好能去掉标题栏(也是觉得去掉可能能加速)。 Continue reading »

 

手机开发java程序时中,很多场合需要动态图片,比如在程序必须等待的时候,一个循环转圈的圆比起没有任何提示和动静,给用户的使用体验要好很多。 本文的说的方法主要应用LWUIT类库来绘制界面的j2me程序1

准备工作

本文假设读者已经配置好j2me能够建立一个能够正常工作的J2me的工程。如果对此不熟悉,请参考how-to-setup-development-environment-4-j2me+eclipse

Continue reading »

 

Developing Software 1

Generally, a task of developing a program involves three steps. Analysis, design, programming. First we gain an understanding about problem(Analysis), then we identify the key concepts about a solution(design), at last we progrmming this solution(programming).These three steps are not seperated literaly, every step may contains others and interact with others.

Continue reading »

 

[Programming] learning-cpp – Tao of Programmer

作者:fangzhzh
声明:允许未经作者的同意进行非商业目的的转载,但必须保证原文完整性
本文永久链接地址:http://www.fangzhzh.info/2010/7/learning-cpp



learning cpp series

Why this series should be given birth to.

Thousands and thousands articles and books are there involving in c++ language. So why I want write this series about c++.

In my option, the best way to confirm that you have mastered some knowledge is you can teach that to others clearly in your tone. So this series is my teaching plan. Forthmore, notes are good for memory.

how will this series flow

Followed with process of reading The C++ Programming Language1, I will develop articles from problems about some obscure language detail and thoughtss when resolving some test from this book.

I will focus on many conceptual points.

what will be covered

The series will focus on C++, yet not limite in c++, also on compiling, debugging, assembler, Operating System, etc.

post list

learning-cpp-series-overview

1.the c++ programming language wiki, the c++ programming language homepage.


 

[Programming] 如何用c程序计算出char类型在你机器上的最大最小值

作者:fangzhzh
声明:允许未经作者的同意进行非商业目的的转载,但必须保证原文完整性
本文永久链接地址:http://fangzhzh.info/blog/2010/5/how-to-calc-maximum-and-minimum-of-char-using-c-function

显而易见,char是8位,一个字节。《c++ Primer》1上是这么说的“char类型保证了有足够的空间,能够存储机器基本字符集中任意字符相应的数值,因此,char类型通常是单个机器字节”,2^8=128,所以其取值范围应该就是-128~127. c标准里有相应的常量来表示CHAR_MAX 127 ,CHAR_MIN -128。

但是,如何使用c程序来得到这个最大最小值呢?

下面记录下我实验的过程。

我想法如下:
char范围是127--128。所以char变量c自加,直到127时,c+1就变成了-128,这样就会c>c+1,而之前都是c<c+1。所以,写个for循环。

version1 程序是这么写的:

char c;
for(c=0; c < c+1; c++)
printf("the maxest char is %d", c);

问题:结果是个死循环,gdb跟进去后,发现c是127时,c+1是128,然后是-128和-127。永远c < c+1。
原因:隐形类型转换的问题。
上边程序添上如下两句后,

printf("c bits%d, c+1 bits%d",sizeof(c), sizeof(c+1));

输出:
c bits 1, c+1 bits 4.
原来c+1,char强制类型转换为int( 这里涉及到隐形的类型转换的问题,不懂的,可以查阅相关知识)。

version2 程序:

for(c=0; c<++c;);

找出最大值和最小值,本代码基于这样一种假设,<号的求值顺序是先左后右。取c值127,++c,取c值-128。
结果这个循环一次没有成功。
原因:C语言中只有四个运算服(&&、||、?:和,)存在规定的求值顺序。运算符&&和||首先对左侧操作数求值,只在需要时才对右侧操作数求值。运算符?:有三个操作数:在a?b:c中,操作数a首先被求值,根据a的值再求操作数b或c的值。而逗号运算符,首先对左侧操作数求值,然后该值被“丢弃”,再对右侧操作数求值。
所以,上边那个程序,也不对,没有保证”<”左边一定会优先于右边取值。

version3:

char c, d;
for(c=0, d=1; ++c < ++d;);
printf("char min:%d max:%d", d, c);

此方法应该可以适用于所有c的内置类型。

1.. 豆瓣介绍亚马逊介绍

 

[Programming] c/c++学习笔记 – Tao of Programmer

作者:fangzhzh
声明:允许未经作者的同意进行非商业目的的转载,但必须保证原文完整性
本文永久链接地址:http://www.fangzhzh.info/2010/7/c-programming-notes

在8、9年与c/c++斯磨的过程中,多多少少有一些笔记,有一些感悟,有一些技巧。

以前一直没有记录下来,皆是源于对新知识的饥饿感,远远胜过了要对已学过东西进行反刍的想法。

皆因缺乏系统的学习方法和明确的学习方向,所以尽管多年来我一直在programming field的孜孜不倦的狩猎,结果却是没有在任何涉及的领域被称作牛人。但是最少,现在我也算是一个程序开发百事通,学c/c++没我python好,学python的没有我perl好,学windows的没有我linux好,。

随着知识网和知识系统的逐渐建立,任何新的东西几乎总能将其归到知识体系的某一个分类里,那么现在再也不用无目的的去狩猎新的知识来满足好奇心、虚荣心,和克服未知的恐惧感了。那么现在现在最必要的工作就是对已有、已掌握的知识的反刍。原因很明显,广泛的知识面,只有在你精通了一门知识之后才尤为可贵;否则百事通在行家看来,其实就是个“百事不通”。

这个系列就是记录下c/c++的相关学习笔记。

如何用程序计算出char类型在你机器上的最大最小值

the c++ programming language 学习笔记

learning cpp series – overview


 




[Fangzhzh]程序员能力矩阵及自我分析

作者:fangzhzh
声明:允许未经作者的同意进行非商业目的的转载,但必须保证原文完整性

程序员能力矩阵的翻译版本原文

注意:每个层次的知识都是渐增的,位于层次n,也蕴涵了你需了解所有低于层次
n的知识。

Continue reading »

 




[Programming]python调用外部程序

作者:fangzhzh
声明:允许未经作者的同意进行非商业目的的转载,但必须保证原文完整性

import os,re,sys,subprocess
file = "http://www.vckbase.com/vckbase/vckbase25/vckb25.chm"
for i in range(9):
    fileNow = re.sub('[0-9]+',str(i+1),file)
    subprocess.call(["wget",fileNow])
    print fileNow

© 2012 Tao of Programmer Suffusion theme by Sayontan Sinha