03 2012 档案

摘要:MAC OS X10.7.3安装Xcode4.2,一开始遇见未知错误。把时间改成2012-1-1日安装试试。还不行吧磁盘权限改成可读写,再试试。我的问题这样解决的 阅读全文

posted @ 2012-03-29 22:19 无忧consume 阅读(383) 评论(0) 推荐(0) |

该文被密码保护。

posted @ 2012-03-28 11:06 无忧consume 阅读(1) 评论(0) 推荐(0) |

该文被密码保护。

posted @ 2012-03-25 14:52 无忧consume 阅读(1) 评论(0) 推荐(0) |

摘要:PDU 协议数据单元PDU(Protocol Data Unit)是指对等层次之间传递的数据单位。 协议数据单元(Protocol Data Unit )物理层的 PDU是数据位(bit),数据链路层的 PDU是数据帧(frame),网络层的PDU是数据包(packet),传输层的 PDU是数据段(segment),其他更高层次的PDU是数据(data)。定义 在分层网络结构,例如在开放式系统互联(OSI)模型中,在传输系统的每一层都将建立协议数据单元(PDU)。PDU包含来自上层的信息,以及当前层的实体附加的信息。然后,这个PDU被传送到下一较低的层。物理层实际以一种编帧的位流形式传输这.. 阅读全文

posted @ 2012-03-20 22:02 无忧consume 阅读(2527) 评论(0) 推荐(0) |

摘要:在用VS2005或VS2008的VC++开发产品时,经常遇到的一个问题就是最终编译出的可执行文件Exe、Dll、Ocx之类会需要MSVCR90.dll、MSVCR80.dll等C库函数运行时Dll的支持,在一些较老的系统,如XP 中,经常不具备这些新版本的运行库,导致产品发布推广成为一个严重的问题。在2008年我还在开发一款网游时,也遇到了同样的问题,虽然想尽了办法,也无法屏蔽对这个动态库的引用,不得已,客户端就又返回老的VS2003环境中进行编译开发,最终发布。 可以使用VS2008自带的安装程序制作工具,生成一个最简的VC++ Redistributable 包,体积也很小,但是一样... 阅读全文

posted @ 2012-03-20 20:21 无忧consume 阅读(373) 评论(0) 推荐(0) |

摘要:如何在Visio2007中画接口和实现类的关系图Rose和Visio都是画UML图的常用工具,使用过这两个工具的人,就会知道这两个工具在类图的图形元素上有点差别。其中,最大的差别就是对接口和实现类关系的支持。这个问题困扰我很久,难道说Visio所支持的并不是UML标准? 在Visio的UML模型中,缺省展现的是UML标准所定义的类之间的关系,包括泛化,关联,复合,消息等。虽然说接口和实现类的关系,本质上也可以算是泛化关系的一种,但是既然UML标准里面都明确定义了相关的表示法了,为什么Visio的UML模型里面不定义这个表示法呢,难道说每次都要由用户自己去手动修改图形元素的显示属性吗?有意思的是 阅读全文

posted @ 2012-03-20 11:00 无忧consume 阅读(788) 评论(0) 推荐(0) |

摘要:第二个iPhone应用程序:“Say Hello”项目需求 写一个iPhone应用程序,要求可以输入名字,点击按钮后,会显示一段文字向输入的名字打招呼,例如输入“宝玉”,显示“你好,宝玉!”需求分析 这是一个很简单的应用程序,包含一个文本输入框,一个文本显示框,一个按钮。输入名字到文本输入框,再点击按钮,这时文本显示框的文字就会变成“你好,<名字>!”。但是要注意,如果用户输入为空,要有警告提示用户重新输入;如果用户输入文字太长,超过16个字符,要自动截断。产品设计 根据项目需求,画出相应的产品原型图:初始状态 初始时,文本输入框为空,但是显示水印,提醒用户可以输入姓名。文本显示框 阅读全文

posted @ 2012-03-19 22:02 无忧consume 阅读(974) 评论(0) 推荐(0) |

摘要:基于Xcode4开发第一个iPhone程序:“Hello World”项目要求 写一个iPhone程序,在屏幕正中显示文字“Hello Word”,粗体,字体大小26磅,字体颜色红色,有黑色阴影,阴影光源为左上角,偏移1像素,支持设备旋转。需求分析在开始之前,我们首先来分析一下项目需求,这是一个非常简单的项目,只要在屏幕上显示一段“Hello World”的文字,当然还有一些附加条件:对字体、字体颜色、字体大小有要求,有阴影效果要求文字显示在屏幕正中支持设备旋转,并且无论设备如何旋转,文字都还是显示在屏幕正中根据这些需求,我们将从简单到复杂,逐步来实现,分成2步来实现:在屏幕上显示文字,设置. 阅读全文

posted @ 2012-03-19 20:40 无忧consume 阅读(226) 评论(0) 推荐(0) |

摘要:莲子芯是白莲中间的绿色胚芽。富含生物碱,味甘苦、微寒,具有祛火清心、清凉解毒、降血压等功效,莲子芯具有降糖作用,有一定的开发价值。花 名:莲子芯莲子芯学 名:Nelumro nucifera英 文 名:LotusPlumule科 名:睡莲科摘取部位:成熟种子的绿色胚芽产 地:浙江西湖、江苏省太湖、洞庭湖、浙江等。莲子芯 - 简介 莲子芯属睡莲科植物莲的成熟种子中的干燥幼叶及胚根。性寒,味苦、无毒,具有清心去热、涩精、止血、止渴等功效,可治疗心衰、休克、阳痿、心烦、口渴、吐血、遗精、目赤、肿痛等病症。莲子芯 - 功效 用莲子芯冲水喝,清肝火、泄脾火、降肝火,清暑除烦,生津止渴、治... 阅读全文

posted @ 2012-03-19 19:35 无忧consume 阅读(457) 评论(0) 推荐(0) |

摘要:pthread_create编辑本段函数简介 pthread_create是UNIX环境创建线程函数头文件 #include<pthread.h>函数声明 int pthread_create(pthread_t*restrict tidp,const pthread_attr_t *restrict_attr,void*(*start_rtn)(void*),void *restrict arg);返回值 若成功则返回0,否则返回出错编号 返回成功时,由tidp指向的内存单元被设置为新创建线程的线程ID。attr参数用于制定各种不同的线程属性。新创建的线程从start_rtn函数 阅读全文

posted @ 2012-03-19 16:51 无忧consume 阅读(466) 评论(0) 推荐(1) |

摘要:http://cpp.ezbty.org/import_doc/linux_manpage/pthread_attr_getdetachstate.3.htmlPTHREAD_ATTR_SETDETACHSTATE名字pthread_attr_setdetachstate, pthread_attr_getdetachstate - 设置/获取线程属性对象的分离状态属性概要#include <pthread.h>int pthread_attr_setdetachstate(pthread_attr_t *attr, int detachstate);int pthread_att 阅读全文

posted @ 2012-03-19 16:45 无忧consume 阅读(953) 评论(0) 推荐(0) |

摘要:http://cpp.ezbty.org/import_doc/linux_manpage/pthread_attr_destroy.3.html名字pthread_attr_init, pthread_attr_destroy - 初始和销毁线程属性对象概要#include <pthread.h>int pthread_attr_init(pthread_attr_t *attr);int pthread_attr_destroy(pthread_attr_t *attr);编译并与 -pthread 一起链接。描述pthread_attr_init() 使用默认属性值来初始化 阅读全文

posted @ 2012-03-19 16:18 无忧consume 阅读(1052) 评论(0) 推荐(0) |

摘要:第一步,先运行这个软件(就是生成的EXE),把他的各个功能都试一下;第二步,将代码按各个功能模块分组(自己在工程中建目录管理);第三步,按功能模块单个阅读代码(同时自己增加注释);第四步,调试运行各个功能模块(同时自己增加注释)。 利器:调试 阅读全文

posted @ 2012-03-19 16:08 无忧consume 阅读(178) 评论(0) 推荐(0) |

摘要:在安装目录找打login.wav,重命名或删除 阅读全文

posted @ 2012-03-19 13:03 无忧consume 阅读(141) 评论(0) 推荐(0) |

摘要:使用gethostname()得到主机名int gethostname(char *name, size_t len)这个函数,调用后,会将主机名保存在name里面。而len是name的大小。以下是例程,编译后只需要运行就知道自己的主机名字了。知道自己名字后,我再调用了一下gethostbyname()来得到主机的一些其他信息。#include <netdb.h>#include <sys/socket.h>int main(int argc, char **argv){ struct hostent *hptr; char **pptr; char hostname[ 阅读全文

posted @ 2012-03-18 23:40 无忧consume 阅读(299) 评论(0) 推荐(0) |

摘要:套接字函数 gethostname() 返回一个字符串,该字符串标识本地主机的名称。每个主机都有一个"正式"的名称,而不考虑的几个 IP 地址,它具有,但可能有几个"别名"主机。 在 TCP/IP 中,没有主机名和 IP 地址之间的一对一映射。映射是一到多: 一个主机名可以有多个 IP 地址。 套接字函数 getsockname() 返回套接字绑定到该 sockaddr。 阅读全文

posted @ 2012-03-17 23:56 无忧consume 阅读(690) 评论(0) 推荐(0) |

摘要:多线程之NSOperation1、将想在另外一个线程的工作单独成类,并设置其父类为NSOperation@interface ImageLoadingOperation : NSOperation { //需要传入一个图片地址,所以定义一个NSURL变量 NSURL *imageURL; //由于需要返回一些值,所以需要一个对象参数返回要被返回的对象(运行此线程的类对象) id target; //返回值要激发的方法函数 SEL action;}复制代码2、借由其初始化方法来传入所需要的参数和对象- (id)initWithImageURL:(NSURL *)theImageURL... 阅读全文

posted @ 2012-03-17 00:51 无忧consume 阅读(227) 评论(0) 推荐(0) |

摘要:深入浅出 Cocoa 多线程编程之 block 与 dispatch queneblock 是 Apple 在 GCC 4.2 中扩充的新语法特性,其目的是支持多核并行编程。我们可以将 dispatch_queue 与 block 结合起来使用,方便进行多线程编程。本文源代码下载:StudyBlocks.zip(50.35 KB, 下载次数: 0)1,实验工程准备在 XCode 4.0 中,我们建立一个 Mac OS X Application 类型的 Command Line Tool,在 Type 里面我们选择 Foundation 就好,工程名字暂且为 StudyBlocks.默认生成的 阅读全文

posted @ 2012-03-17 00:50 无忧consume 阅读(301) 评论(0) 推荐(0) |

摘要:ubuntu 10.10下安装QQWine下完美安装QQ 2010:1、先安装Wine:sudo apt-get install wine2、获取获取最新的WineTricks,WineTricks是Wine的其中一个开发者DanKegel写的一个安装Windows有关库和软件的小程序,非常有用。下载WineTricks,在终端中输入: wget http://www.kegel.com/wine/winetricks也就几秒的时间。3、安装WineTricks: 终端中输入:sh winetricks msxml3 gdiplus riched20 riched30 ie6 vcrun6 . 阅读全文

posted @ 2012-03-16 20:13 无忧consume 阅读(350) 评论(0) 推荐(0) |

摘要:一般stl中要是不是普通数据类型,用指针更优效一点。为了防止偷偷的拷贝构造函数 阅读全文

posted @ 2012-03-16 19:57 无忧consume 阅读(158) 评论(0) 推荐(0) |

摘要:NAMEnetinet/in.h - Internet Protocol familySYNOPSIS #include <netinet/in.h> DESCRIPTIONWhen header file<netinet/in.h>is included, the following types are defined throughtypedef.in_port_tAn unsigned integral type of exactly 16 bits.in_addr_tAn unsigned integral type of exactly 32 bits.The 阅读全文

posted @ 2012-03-16 01:10 无忧consume 阅读(1453) 评论(0) 推荐(0) |

摘要:NAMEsys/types.h - data typesSYNOPSIS #include <sys/types.h> DESCRIPTIONThe<sys/types.h>header includes definitions for at least the following types:blkcnt_tUsed for file block countsblksize_tUsed for block sizesclock_tUsed for system times in clock ticks or CLOCKS_PER_SEC (see<time.h& 阅读全文

posted @ 2012-03-16 01:08 无忧consume 阅读(428) 评论(0) 推荐(0) |

摘要:NAMEsys/socket.h - Internet Protocol familySYNOPSIS #include <sys/socket.h> DESCRIPTION<sys/socket.h>makes available a type,socklen_t, which is an unsigned opaque integral type of length of at least 32 bits. To forestall portability problems, it is recommended that applications should no 阅读全文

posted @ 2012-03-16 01:06 无忧consume 阅读(1898) 评论(0) 推荐(0) |

摘要:headercmath (math.h)C numerics librarycmathdeclares a set of functions to compute common mathematical operations and transformations:Trigonometric functions:cosCompute cosine(function)sinCompute sine(function)tanCompute tangent(function)acosCompute arc cosine(function)asinCompute arc sine(function)a 阅读全文

posted @ 2012-03-15 20:40 无忧consume 阅读(707) 评论(0) 推荐(0) |

摘要:headercstdlib (stdlib.h)C Standard General Utilities LibraryThis header defines several general purpose functions, including dynamic memory management, random number generation, communication with the environment, integer arthmetics, searching, sorting and converting.FunctionsString conversion:atofC 阅读全文

posted @ 2012-03-15 20:39 无忧consume 阅读(508) 评论(0) 推荐(0) |

摘要:headercstring (string.h)C StringsThis header file defines several functions to manipulateC stringsand arrays.FunctionsCopying:memcpyCopy block of memory(function)memmoveMove block of memory(function )strcpyCopy string(function)strncpyCopy characters from string(function)Concatenation:strcatConcatena 阅读全文

posted @ 2012-03-15 20:39 无忧consume 阅读(207) 评论(0) 推荐(0) |

摘要:headercstdio (stdio.h)C library to perform Input/Output operationsInput and Output operations can also be performed in C++ using theCStandardInput andOutput Library (cstdio, known asstdio.hin the C language). This library uses what are calledstreamsto operate with physical devices such as keyboards, 阅读全文

posted @ 2012-03-15 20:38 无忧consume 阅读(314) 评论(0) 推荐(0) |

摘要:http://www.blogjava.net/orangewhy/archive/2007/05/24/119645.html[JNI] Eclipse直接完成JAVA调用C/C++ (Eclipse上使用CDT结合MinGW)网上都有很多在windows平台下JAVA调用C/C++方法的介绍说明。但是,在此过程中,绝大多数都是利用VC等其他工具来进行DLL的生成。试想一下,在eclipse平台开发了JAVA,突然又要打开VC的工作环境,多不爽!何况如果内存不够的话,还得先把其中一个退出。到需要再重新打开,多费劲啊!!现在,我们让这一系列的工作都在eclipse上完成!首先、安装eclips 阅读全文

posted @ 2012-03-15 18:16 无忧consume 阅读(258) 评论(0) 推荐(0) |

摘要:http://topic.csdn.net/t/20020917/14/1030420.html感谢大家支持,这几天我在IBM中文及SUN官方网站中找了不少关于JNI的文章,受益非浅,希望有相关问题的朋友,可到那找查相关资料. 1)在 Windows 中实现 Java 本地方法 http://www-900.ibm.com/developerWorks/cn/java/jnimthds/index.shtml 2)Java Native Interface: Programmer's Guide and Specification http://java.sun... 阅读全文

posted @ 2012-03-15 18:14 无忧consume 阅读(275) 评论(0) 推荐(0) |

该文被密码保护。

posted @ 2012-03-15 16:45 无忧consume 阅读(5) 评论(0) 推荐(0) |

摘要:在终端,应用程序中,打开,输入ifconfig 阅读全文

posted @ 2012-03-15 14:55 无忧consume 阅读(357) 评论(0) 推荐(0) |

摘要:http://www.cnblogs.com/cxun/archive/2010/03/07/1680427.html如果在很短的时间内连接获取随机数,会发现获取的随机数是同一个,下面例子可以实现短时间内快速获取不一样的随机数:#include <windows.h>#include <iostream>using namespace std;//#define USE_QUICK_RANDDWORD WINAPI thread(PVOID pBuf){ LARGE_INTEGER li; QueryPerformanceCounter(&li); srand( 阅读全文

posted @ 2012-03-15 12:35 无忧consume 阅读(255) 评论(0) 推荐(0) |

摘要:http://www.cnblogs.com/cxun/archive/2009/02/24/1397153.html#include<iostream>#include<io.h>#include<sys\stat.h>#include<afx.h>#define_AFXDLLusingnamespacestd;voidmain(){//此文件在工程打开状态下为不可访问char*filepath="..\\test.ncb";//方法一struct_statinfo;_stat(filepath,&info);int 阅读全文

posted @ 2012-03-15 12:33 无忧consume 阅读(213) 评论(0) 推荐(0) |

摘要:typedef 的用法用途一:定义一种类型的别名,而不只是简单的宏替换。可以用作同时声明指针型的多个对象。比如:char* pa, pb;//这多数不符合我们的意图,它只声明了一个指向字符变量的指针,//和一个字符变量;以下则可行:typedef char* PCHAR;PCHAR pa, pb; 用途二:用在旧的C代码中,帮助struct。以前的代码中,声明struct新对象时,必须要带上struct,即形式为:struct结构名对象名,如:struct tagPOINT1{int x;int y;};struct tagPOINT1 p1;而在C++中,则可以直接写:结构名对象名,即:.. 阅读全文

posted @ 2012-03-15 12:14 无忧consume 阅读(226) 评论(0) 推荐(0) |

摘要:http://www.cnblogs.com/cxun/archive/2007/05/05/736208.html一、生成DLL1.新建DLL工程生成DLL可以多种方法,这里介绍一种。在VS中,新建一个空的项目,选Win32 Console Application,新建完后修改工程属性:把生成EXE改为生成DLL2.源代码:#include <iostream>#include <windows.h>using namespace std;#ifdef __cplusplus// if used by C++ codeextern "C" {// 阅读全文

posted @ 2012-03-15 12:10 无忧consume 阅读(382) 评论(0) 推荐(0) |

摘要:http://blog.163.com/prevBlogPerma.do?host=zyc-to&srl=171524002010104680552&mode=prevConvert NSString to int1、NSString*aNumberString =@"123";2、inti = [aNumberString intValue];Convert int to NSStringNSString*boo =[NSString stringWithFormat:@"%@",ln]; 1、intaNumber = 123;2、NS 阅读全文

posted @ 2012-03-15 01:14 无忧consume 阅读(411) 评论(0) 推荐(0) |

摘要:先说这个:NSString*path =[[NSBundle mainBundle] pathForResource:@"LoginStatuses" ofType:@"plist"];不用加inDerectory。你需要在Xcode工程里加入一个group(右键->new group);将文件导入即可不论在哪一个文件夹里。 阅读全文

posted @ 2012-03-15 00:09 无忧consume 阅读(925) 评论(0) 推荐(0) |

摘要:#include <stdio.h>#include <stdlib.h>#include <string.h> void main() { char filename[16] = "MHT"; char *type = ".txt"; char str[4]; int i = 10; itoa(i, str, 10); printf("%s %d\n", filename, sizeof(filename)); //sizeof 全部长度 printf("%s %d\n", f 阅读全文

posted @ 2012-03-14 23:44 无忧consume 阅读(186) 评论(0) 推荐(0) |

摘要:#include <string.h>#include <stdio.h>int main(){ char a[30] = "string (a)"; char b[30] = "hi\0zengxiaolong"; int i;strcpy(a, b); //a[30] = "hi\0ing (a)" printf("strcpy():"); for(i = 0; i < 30; i++) printf("%c", a[i]); //hiing (a)memcpy 阅读全文

posted @ 2012-03-14 22:04 无忧consume 阅读(197) 评论(0) 推荐(0) |

摘要:http://alienryderflex.com/NSLock.htmlTo understand why you need NSLock, study this little example:int x=0, y=0 ;// (globals used by all threads)// Spawn this method as a thread (via detachNewThreadSelector)// several times, to get multiple threads running.- (void) renderPixels:(id) dummyObj { int a, 阅读全文

posted @ 2012-03-14 21:49 无忧consume 阅读(279) 评论(0) 推荐(0) |

摘要:NSLock Class ReferenceOverview AnNSLockobject is used to coordinate the operation of multiple threads of execution within the same application. AnNSLockobject can be used to mediate access to an application’s global data or to protect a critical section of code, allowing it to run atomically. Warn.. 阅读全文

posted @ 2012-03-14 21:48 无忧consume 阅读(664) 评论(0) 推荐(0) |

摘要:这里以libcurl 为例: 1.首先需要下载 libcurl http://curl.haxx.se/download.html.解压... 2.打开mac上的 terminal :切换到 解压的libcurl 的目录下... 3.编译配置: export CC=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin10-gcc-4.2.1 export CFLAGS="-isysroot /Developer/Platforms/iPhoneOS.platform/Develope... 阅读全文

posted @ 2012-03-13 23:37 无忧consume 阅读(394) 评论(0) 推荐(0) |

摘要:1. string 转换为 NSString std::string str("hello"); NSString *str=[NSString stringWithString:str.c_str()]; NSString *istr=[NSString stringWithString:@"zsh"]; str=[istr cStringUsingEncoding:NSUTF8StringEncoding]; NSString *path=[[NSBundle mainBundle]pathForResource:@"nokia" 阅读全文

posted @ 2012-03-13 23:36 无忧consume 阅读(281) 评论(0) 推荐(0) |

摘要:error can't allocate region 程序运行报错,在xcode中则会发出“SIGABRT”信号来终止程序。 原因是程序运行内存不足,欲申请空间得不到分配。此时可以查找程序是否出现程序一直申请内存,出现死循环。SIGABRT 程序自己发现错误并调用abort来终止程序。可能是程序没有内存可分配导致,运行终止. The error you have is because malloc can't allocate another 16M block, and THAT is almost certainly because you have either cra 阅读全文

posted @ 2012-03-13 23:34 无忧consume 阅读(967) 评论(0) 推荐(0) |

摘要:我的(默认)路径:C:\Documents and Settings\Administrator\Local Settings\Application Data\Google\Chrome\User Data\Default删错了,开始找后招。回收站里没有,书签管理器里也没有相应的恢复选项。最后在也许在C:\Users\scomper\AppData\Local\Google\Chrome\User Data\Default,看到了熟悉的Bookmarks.bak。(不同系统这个文件夹的位置可能不一样)直接重命名去掉后缀,再回到浏览器刷新,呵呵,被删除的N多个书签原地复活。 阅读全文

posted @ 2012-03-13 17:21 无忧consume 阅读(383) 评论(0) 推荐(0) |

摘要:1.定义一个MyClass类,和一个TestShow协议:@protocolTestShow;@interfaceMyClass:NSObject<NSCopying>//遵守NSCopying协议{id<TestShow>delegate;}@property(nonatomic,retain)id<TestShow>delegate;@end//自定义代理@protocolTestShow-(void)show;@end2.MyClass类的实现:@implementationMyClass@synthesizedelegate;//overwritei 阅读全文

posted @ 2012-03-13 17:09 无忧consume 阅读(208) 评论(0) 推荐(0) |

摘要:Mac OS X包含多个Cocoa框架,苹果和第三方厂商也随时会发布更多的框架。无论Cocoa框架有多么丰富,有两个框架总是与众不同:即Foundation和Application Kit框架,它们是核心的Cocoa框架。 如字符串、字节数组、用于存储其它对象的集合类;一些代表系统信息的类,如日期类;还有一些代表系统实体的类,比如端口、线程、和进程。下图所示的类层次描述了这些类的逻辑分组及其继承关系。下图为Foundation类层次—Objective-C(第一部分)下图为Foundation类层次—Objective-C(第二部分)下图为Foundation类层次—Objective-... 阅读全文

posted @ 2012-03-13 16:56 无忧consume 阅读(554) 评论(0) 推荐(0) |

摘要:本文比较清楚地说明了Cocoa开发的大致情况,是篇较好的入门教材。建议初学者阅读。这篇文章转载自CSDN,只是可惜CSDN并未标明作者。如果您是这篇文章的作者请联系本站,本站会将您的大名加入。本文比较清楚地说明了Cocoa开发的大致情况,是篇较好的入门教材。建议初学者阅读。Cocoa Framework简称Cocoa,它是Mac OS X上的快速应用程序开发(RAD, Rapid Application Development)框架,一个高度面向对象的(Object Oriented)开发框架。无论您是资深的Mac开发人员,还是即将踏入Mac开发世界的新新人类,Cocoa都是您开发应用程序的瑞 阅读全文

posted @ 2012-03-13 16:51 无忧consume 阅读(302) 评论(0) 推荐(0) |

摘要:随着iPhone SDK的发布,并且该SDK只能使用osx平台,在Xcode环境下进行,估计mac下的应用开发也会越来越热,下面这篇文章非常好的介绍了mac下使用Xcode开发的基本概念,值得阅读。摘自这里。 当你面对着 MS 的Visual Studio头晕眼花加四肢无力的时候,一定绝望过、无助过,为什么微软要拿像怪物一样的MFC和令人费解的COM技术来吸取 Windows 开发人员的精力,因为你可以用它来谋生,在 Windows 独霸桌面操作系统的时代,人们需要它。如果你只想把开发软件当作混口饭吃的差事来做,你可以在混乱的 Windows 架构下继续开发,要是有更崇高一些的理想,比如... 阅读全文

posted @ 2012-03-13 16:34 无忧consume 阅读(416) 评论(1) 推荐(0) |

摘要:刚刚要接触IPHONE,但却无从下手,今天刚上完培训课,第一节大家都知道应该就是 HelloWorld咯、、、1.MAC系统介绍2.Xcode开发环境介绍3.Cocoa框架介绍... 1.什么是MAC: Mac系统是苹果机专用系统,正常情况下在普通pc上无法安装的操作系统mac壁纸苹果公司不但生产MAC的大部分硬件,连MAC所用的操作系统都是它自行开发的,接下来,我们就来了解一下它的操作系统。 苹果机现在的操作系统已经到了OS 10,代号为MAC OSX(X为10的罗马数字写法),这是MAC电脑诞生15年来最大的变化。新系统非常可靠,它的许多特点和服务都体现了苹果公司的理念。 另外,现在疯.. 阅读全文

posted @ 2012-03-13 16:29 无忧consume 阅读(283) 评论(1) 推荐(0) |

摘要:http://hi.baidu.com/helingyuan/blog/item/b1624514511bb30c972b433e.htmliPhone应用开发第一季:初识iPhone应用开发的三大基础:MAC系统介绍、Xcode开发环境介绍和Cocoa框架介绍。这三大基础是iPhone OS应用开发必知必会的内容 首先,第一节大家都知道应该就是:“HelloWorld”! ◆MAC系统介绍 ◆Xcode开发环境介绍 ◆Cocoa框架介绍 什么是MAC? ◆MAC系统是苹果机专用系统,正常情况下在普通pc上无法安装的操作系统 ◆MAC壁纸 苹果公司不但生产MAC的大部分硬件,连... 阅读全文

posted @ 2012-03-13 16:27 无忧consume 阅读(236) 评论(0) 推荐(0) |

摘要:http://hi.baidu.com/helingyuan/blog/item/64d2b27d0f4b1f1c28388ae4.html 2月10日,HP发布了WebOS3.0,虽然有些生不逢时,但即使面对不成熟的Windows phone7,尚待字闺中的meego,移动设备操作系统中Apple IOS、Android、WebOS三足鼎立的局面已然初成,。竞争的大幕拉开,未来移动设备操作系统江湖谁主沉浮? 这里从系统架构角度进行对比分析。 以上3大移动设备操作系统都采用unix或linux内核,有着共同的基因,它们的内核都是精简版的UNIX(MacOS X)或linux。在具体的实现上.. 阅读全文

posted @ 2012-03-13 16:22 无忧consume 阅读(462) 评论(0) 推荐(0) |

摘要:苹果开发工具概述(一):Xcode 和Interface Builder工欲善其事,必先利其器。在Mac OS X上开发,首选Xcode继承开发环境。本文对开发工具套件中最重要的Xcode和Interface Builder两个工具做了简要介绍。什么是Xcode?Xcode是Apple自己开发的,只运行在Mac OS X平台下的IDE。如果你想真正了解Mac OS X平台上的开发,就应该了解它。当然,Mac OS X实现了POSIX,固然也支持传统的UNIX编程环境;Eclipse等Java开发工具也有Mac OS X版。不过这些,你在Linux或者Windows平台也能体验到。Xcode也并 阅读全文

posted @ 2012-03-13 15:47 无忧consume 阅读(468) 评论(0) 推荐(0) |

摘要:NameglVertexPointer — define an array of vertex dataC SpecificationvoidglVertexPointer(GLint size,GLenum type,GLsizei stride,const GLvoid * pointer);ParameterssizeSpecifies the number of coordinates per vertex. Must be 2, 3, or 4. The initial value is 4.typeSpecifies the data type of each coordinate 阅读全文

posted @ 2012-03-13 15:46 无忧consume 阅读(968) 评论(0) 推荐(0) |

摘要:// 利用ChangeSize函数在屏幕形状发生改变时重建viewport并且重新设置坐标系#include <GL/glut.h>#define WINDOW_WIDTH 640#define WINDOW_HEIGHT 480void ChangeSize(GLsizei w, GLsizei h){GLfloat aspectRatio;// 防止被0除if(h == 0){h = 1;}glViewport(0, 0, w, h);// 重置坐标系统glMatrixMode(GL_PROJECTION);glLoadIdentity();aspectRatio = (GLf 阅读全文

posted @ 2012-03-13 14:47 无忧consume 阅读(178) 评论(0) 推荐(0) |

摘要:http://www.haogongju.net/art/994038接下来的代码效果如图:// 我们定义了一个200X200的窗口// 设置视口为整个窗口// 横坐标范围为-100到100// 纵坐标范围为-100到100// 所以一个left, top, right, bottom为-50.0f, 50.0f, 50.0f, -50.0f的矩形应该在屏幕中间// 程序运行结果正如预期#include <GL/gl.h>#include <GL/glut.h>void RenderScene(){glClear(GL_COLOR_BUFFER_BIT);glColor 阅读全文

posted @ 2012-03-13 14:46 无忧consume 阅读(348) 评论(0) 推荐(0) |

摘要:首先我们在屏幕中心显示一个矩形,效果如图:// 代码没有经过优化,为的是容易理解public class OpenGLTestActivity extends Activity {GLSurfaceView glView;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);requestWindowFeature(Window.FEATURE_NO_TITLE);getWindow().setFlags(WindowManager.LayoutParams.FL 阅读全文

posted @ 2012-03-13 14:46 无忧consume 阅读(225) 评论(0) 推荐(0) |

摘要:// 首先我们看一下用OpenGL绘制一个矩形<br>#include <GL/glut.h>void display(){// 清除屏幕glClear(GL_COLOR_BUFFER_BIT);// 指定从glBegin到glEnd描述的基元(primitive),在这里是多边形glBegin(GL_POLYGON);// 指定多边形的四个顶点glVertex2f(-0.5, -0.5);glVertex2f(-0.5, 0.5);glVertex2f(0.5, 0.5);glVertex2f(0.5, -0.5);glEnd();// 强制刷新缓冲,保证绘图命令将被 阅读全文

posted @ 2012-03-13 14:45 无忧consume 阅读(261) 评论(0) 推荐(0) |

摘要:OpenGL是一个状态机,尤其是使用固定功能的管线。可以设置它的各种状态(或模式),然后让这些状态一直生效,直到再次修改它们。 每个状态变量(或模式)都有一个默认值。在任何时候都可以向系统查询每个状态变量的当前值。一般情况下,可以使用 glGetBooleanv(),glGetDoublev(),glGetIntegerv(),glGetfloatv(),glGetPointerv(),或glIsEnabled(),之一来完成这个任务。具体选择的函数取决于希望返回的结果的数据类型。 有些状态变量还有更为特定的查询函数,如glGetLight*(),glGetError()或glGet... 阅读全文

posted @ 2012-03-13 14:43 无忧consume 阅读(181) 评论(0) 推荐(0) |

摘要:OpenGL ES 1.0是专门针对嵌入式系统设计的3D图形库,它是从OpenGL 1.3发展而来的。它是OpenGL的一个子集,但也不仅仅是子集,还添加了OpenGL没有的一些内容。两者的主要区别如下:★去掉了多余的API:考虑到灵活性,OpenGL设计了大量不同的函数来完成同一件事情。比如 glColr(),就有30多种不同的形式,而区别仅在于参数的数量和类型不同。ES去掉了大部分这种API,仅留下了一些常用的和一般形式的。比如ES只支持glNormal3f, glColor4f, glMultiTexCoord4f。★去掉了多余的功能有时,OpenGL会有不同的方法来做同一件简单的事情。 阅读全文

posted @ 2012-03-13 14:41 无忧consume 阅读(260) 评论(0) 推荐(0) |

摘要:一直以来有这么一种烦恼困扰着我,那就是把pc键盘和mac的兼容性。我之所以喜欢用mac,有很大一个原因是因为mac的commad键位设置得很舒服,每次复制粘贴手不用移动很大位置(不像windows),这个对一个程序员是很重要的。但是每当插上一个windows外界键盘的时候,win键默认为command,而alt默认是option,这就搞得command键位不是很舒服了,作为一个穷学生,又买不起mac外接键盘,只能这样默默地忍受着这种不和谐,心里默默流泪。但是天晓得,原来mac是支持去修改键盘的command/option键位的,可以让你的pc键盘的commad键和option切换的!这真TMD 阅读全文

posted @ 2012-03-13 14:35 无忧consume 阅读(806) 评论(0) 推荐(0) |

摘要:如何调试程序?(a)有两种方法:一是暴力调试,二是使用调试器调试。什么是暴力调试?暴力调试就是在你的程序中添加NSLog()语言,将程序的控制流程和一些重要数据输出到终端上。调试器调试:调试器 就是介于你编写的应用程序和操作系统之间的一种程序,可以对你的程序进行控制,如停止,执行,单步跟踪等。Xcode使用的调试器是GDB。Xcode除了有GDB外,还有一个微型调试器,它是一个浮动窗口,通过它我们能接跳过GDB调试器做一些简单的调试工作。Xcode有一个提供大量概述信息的调试窗口。Xcode提供一个调试控制台,通过它可以直接向调试器发调试命令。(b)如何用调试器进行调试? (1)编译程序... 阅读全文

posted @ 2012-03-13 14:34 无忧consume 阅读(719) 评论(0) 推荐(0) |

摘要:在《OpenGL Shading Language Second Edition》中发现多纹理在GLSL中的正确使用方法,先看c++源码:view sourceprint?01.glActiveTexture(GL_TEXTURE0);02.glBindTexture(GL_TEXTURE_2D, earthDayTexName);03.04.glActiveTexture(GL_TEXTURE1);05.glBindTexture(GL_TEXTURE_2D, earthNightTexName);06.07.glActiveTexture(GL_TEXTURE2);08.glBindTex 阅读全文

posted @ 2012-03-13 14:30 无忧consume 阅读(657) 评论(0) 推荐(0) |

摘要:OpenGL ES是OpenGL三维图形API 的子集,针对手机、PDA和游戏主机等嵌入式设备而设计。 Ophone目前支持OpenGL ES 1.0 ,OpenGL ES 1.0 是以 OpenGL 1.3 规范为基础的,OpenGL ES 1.1 是以 OpenGL 1.5 规范为基础的。本文主要介绍利用OpenGL ES绘制图形方面的基本步骤。本文内容由三部分构成。首先通过EGL获得OpenGL ES的编程接口;其次介绍构建3D程序的基本概念;最后是一个应用程序示例。EGL OpenGL ES本质上是一个图形渲染管线的状态机,而 EGL 则是用于监控这些状态以及维护帧缓冲和其他渲染面的外 阅读全文

posted @ 2012-03-13 14:22 无忧consume 阅读(595) 评论(1) 推荐(0) |

摘要:http://www.cnblogs.com/likwo/archive/2011/06/18/2084192.html曾经有人这么说过,在iphone里你看到的,摸到的,都是UIView,所以UIView在iphone开发里具有非常重要的作用。那么UIView我们到底知道多少呢。请看看下面的问题,如果这些你都知道,那么本文章的内容就请绕道,如果你还不太清楚,我想看了下面的内容,你就明白了。1。bounds和frame分别表示什么?2。ContentMode里UIViewContentModeScaleToFill代表什么?3。contentStretch 里的指定UIView里缩放区域是如何 阅读全文

posted @ 2012-03-13 14:19 无忧consume 阅读(219) 评论(0) 推荐(0) |

摘要:http://mobileorchard.com/find-iphone-memory-leaks-a-leaks-tool-tutorial/There are plenty of different places to get a mobile application designed. The problem is that they’re quite expensive. You might be able to figure out how to create your own, but it will probably look very basic. Instead, a goo 阅读全文

posted @ 2012-03-13 14:11 无忧consume 阅读(269) 评论(0) 推荐(0) |

摘要:http://www.cppblog.com/zhangyuntaoshe/articles/123138.html说明:objective-C/C++开发语言了。除了Cocoa相关框架和库之外,像Boost、STL以及标准ANSI C运行时库均可使用。不过大家在使用这些库时还得注意自己程序的运行环境。--------------------zhangyuntao 2010.8.12方式:1.引入头文件:#include<vector>#include<algorithm>usingnamespacestd;2.将实现文件改名为.mm 告诉XCode启用gcc...示例 阅读全文

posted @ 2012-03-13 14:09 无忧consume 阅读(293) 评论(0) 推荐(0) |

摘要:http://www.cppblog.com/zhangyuntaoshe/articles/135811.htmliPhone with File I/OServin Mobile SoftwareHow to use iPhone with File I/O Functions: A Tutorial for Software DevelopersNorman McEntireVersion 1.4 Sep 1. Thank you Freedy.Version 1.3 Aug 6. Thank you Chris B.Version 1.2 May 1. Thank you Pierre 阅读全文

posted @ 2012-03-13 14:02 无忧consume 阅读(262) 评论(0) 推荐(0) |

摘要:As far as I know there is only one hacky way to do that. You basically open a socket and get its address using POSIX functions. Here is the code I used for this:原代码地址(需FQ):http://iphonesdksnippets.com/post/2009/09/07/Get-IP-address-of-iPhone.aspx/** IPAdress.h***/#defineMAXADDRS 32externchar*if_name 阅读全文

posted @ 2012-03-13 13:56 无忧consume 阅读(397) 评论(0) 推荐(0) |

摘要:no matching function for call to在VS中也许不会报错,或是在objective-c也不会报错,但是在.mm终究会报错,有可能因为函数变量不匹配,即使形参是void(*)。如果是这种问题,可以显示强制装换一下试试 阅读全文

posted @ 2012-03-13 13:54 无忧consume 阅读(937) 评论(0) 推荐(0) |

摘要:NSUInteger an_Integer;NSArray* ipItemsArray;NSString*externalIP;NSURL *iPURL =[NSURL URLWithString:@"http://www.dyndns.org/cgi-bin/check_ip.cgi"];if(iPURL){ NSError*error = nil; NSString*theIpHtml =[NSString stringWithContentsOfURL:iPURL encoding:NSUTF8StringEncoding ... 阅读全文

posted @ 2012-03-13 13:50 无忧consume 阅读(327) 评论(0) 推荐(0) |

摘要:先试试这整个:NSHost* myhost =[NSHost currentHost];NSString *ad = [myhost address];再试试:-(void) getIPWithNSHost{ NSArray*addresses =[[NSHost currentHost] addresses];for(NSString*anAddress in addresses){ if(![anAddress hasPrefix:@"127"]&&[[anAddress componentsSeparatedByString:@"." 阅读全文

posted @ 2012-03-13 13:49 无忧consume 阅读(296) 评论(0) 推荐(0) |

摘要:Command /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/g++-4.2 failed with exit code 1问题总结及解决方案 最近因为需要,要用C,C++,Objective-C三种C语言3C混编的开发程序,在当然方法也和大家说一下吧,就是在Xcode环境中把C语言的.c文件,C++的.cpp文件与Objective-C的.m文件的文件名全部修改成.mm,这样就可以启用Objective-C++的编译环境3C混编了,可是遇到了上述问题,网上的说法不一致,而且我也遇到了多次这个问题,最后解决... 阅读全文

posted @ 2012-03-13 13:44 无忧consume 阅读(372) 评论(0) 推荐(0) |

摘要:http://blog.pfan.cn/cracker007/17239.html初学者经常被这个问题所困惑: char *p="abc"==>"abc"是一个const char*,为什么能够赋值给char *? 按照 C/C++ 标准的描述,"abc" 是 string literal (字符字面量、字符文字量),具有静态存储性质,类型是数组类型,并且不能被改变。注意:"abc" 是一个数组类型的对象,是左值。当然左值可以转化为右值使用,就像数组类型的对象可以转化为指针一样。虽然 "abc&qu 阅读全文

posted @ 2012-03-13 13:42 无忧consume 阅读(354) 评论(0) 推荐(0) |

该文被密码保护。

posted @ 2012-03-13 11:43 无忧consume 阅读(1) 评论(0) 推荐(0) |

摘要:C++中令人混淆的3个new和delete在深入学习C++的过程中遇到3个new和delete让我十分迷惑,经过学习,有了点初步理解的感觉。总结如下C++中,内存分配和对象构造紧密纠缠,就像对象析构和内存回收一样。使用new 表达式的时候,分配内存,并在该内存中构造一个对象,使用delete的时候,调用析构函数撤销对象,并将对象所用内存返还给系统。C++提供了一下两种方法来分配和释放未构造的原始内存:1)allocator类的allocate 和 deallocate成员函数2)标准库中的 operator new 和 operator delete。C++还提供了在原始未构造的内存中构造和析 阅读全文

posted @ 2012-03-13 10:32 无忧consume 阅读(255) 评论(0) 推荐(0) |

摘要:顶点数组, glDrawArrays,glDrawElements - [OpenGL]前两天接触OpenGL ES的时候发现里面没有了熟悉的glBegin(), glEnd(),glVertex3f()函数,取而代之的是glDrawArrays()。有问题问google,终于找到答案:因为OpenGL ES是针对嵌入式设备这些对性能要求比较高的平台,因此把很多影响性能的函数都去掉了,上述的几个函数都被移除了。接下来看看这些函数是如何使用的。1.glEnableClientState(GL_VERTEX_ARRAY); 使能顶点数组功能。2.将准备好的数组告知程序,使用glVertexPoin 阅读全文

posted @ 2012-03-13 10:29 无忧consume 阅读(1331) 评论(0) 推荐(0) |

摘要:Cocoa.h includes the following umbrella headers:#import <Foundation/Foundation.h>#import <AppKit/AppKit.h>#import <CoreData/CoreData.h>Digging deeper, CoreData.h includes#import <Foundation/Foundation.h>#import <CoreData/CoreDataDefines.h>#import <CoreData/CoreDataEr 阅读全文

posted @ 2012-03-12 20:52 无忧consume 阅读(498) 评论(0) 推荐(0) |

摘要:快速知道当前文件夹的准确位置-路径栏在Leopard中,Finder里加入了一个新的特性,叫路径栏。在Finder菜单中点击“显示”,然后选择“显示路径栏”:这时,在Finder窗口下部,就会出现一条路径栏。路径栏有下面几个作用:1. 显示当前文件夹的完整路径。2. 通过双击路径栏上的图标,可以快速进入路径中的任意文件夹。比如:在上图中双击“用户”文件夹图标,Finder就会进入“用户”文件夹。3. 路径栏上的图标不仅可以双击,而且可以直接把文件拖拽到图标上,来进行文件的移动,是不是非常方便? 阅读全文

posted @ 2012-03-12 16:13 无忧consume 阅读(846) 评论(0) 推荐(0) |

摘要:使用Xcode4编译器设定Release/Debug教程是本文要介绍的你内容,主要是来学习xcode 4的相关内容,让我们更一步的去熟悉、了解xcode 4,内容不多,不过真的可以帮助友们去解决xcode 4中编译器的问题。先来看内容。 进入Xcode 4,选择菜单“Product”->“Manage Schemes”,出现下图: 选择一个项目,点击“Edit”,如图: Bulid Configuration 在调试中,如果需要传入参数,在上图中Arguments上设置。 一般这个设置常用于控制台程序,比如:A.exe -p boy 那么,在Arguments上添加-p boy... 阅读全文

posted @ 2012-03-12 15:26 无忧consume 阅读(272) 评论(0) 推荐(0) |

摘要:线程是有趣的http://www.ibm.com/developerworks/cn/linux/thread/posix_thread1/了解如何正确运用线程是每一个优秀程序员必备的素质。线程类似于进程。如同进程,线程由内核按时间分片进行管理。在单处理器系统中,内核使用时间分片来模拟线程的并发执行,这种方式和进程的相同。而在多处理器系统中,如同多个进程,线程实际上一样可以并发执行。那么为什么对于大多数合作性任务,多线程比多个独立的进程更优越呢?这是因为,线程共享相同的内存空间。不同的线程可以存取内存中的同一个变量。所以,程序中的所有线程都可以读或写声明过的全局变量。如果曾用 fork() 编 阅读全文

posted @ 2012-03-12 14:49 无忧consume 阅读(221) 评论(0) 推荐(0) |

摘要:Mac 电脑下面可以使用苹果自带的编程程序Xcode,可以使用购买电脑时的安装盘来安装这个软件,我目前安装的是xcode 3.2。与大多数程序不同,Xcode并不是安装到/Applications,而是安装到了根目录下的Developer文件夹中1.file->new project->mac os x->application->command line tool, 默认是c,创建一个c项目...这样你就可以直接编译运行了.2.接下来的问题是,运行时让console弹出来. 方法:xcode->preference->debugging->on st 阅读全文

posted @ 2012-03-12 14:43 无忧consume 阅读(879) 评论(0) 推荐(0) |

摘要:NameglFrustumf,glFrustumx- multiply the current matrix by a perspective matrixC Specificationvoid glFrustumf(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat near, GLfloat far)void glFrustumx(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixe... 阅读全文

posted @ 2012-03-12 01:07 无忧consume 阅读(361) 评论(0) 推荐(0) |

摘要:Name glDrawArrays — render primitives from array dataC SpecificationvoidglDrawArrays(GLenum mode,GLint first,GLsizei count);ParametersmodeSpecifies what kind of primitives to render. Symbolic constantsGL_POINTS,GL_LINE_STRIP,GL_LINE_LOOP,GL_LINES,GL_TRIANGLE_STRIP,GL_TRIANGLE_FAN,GL_TRIANGLES,GL_QU. 阅读全文

posted @ 2012-03-12 00:25 无忧consume 阅读(661) 评论(0) 推荐(0) |

摘要:NameglDrawElements — render primitives from array dataC SpecificationvoidglDrawElements(GLenum mode,GLsizei count,GLenum type,const GLvoid * indices);ParametersmodeSpecifies what kind of primitives to render. Symbolic constantsGL_POINTS,GL_LINE_STRIP,GL_LINE_LOOP,GL_LINES,GL_TRIANGLE_STRIP,GL_TRIANG 阅读全文

posted @ 2012-03-11 23:59 无忧consume 阅读(653) 评论(0) 推荐(0) |

摘要:大多数情况下都是vc安装的问题试试下面的方法吧:(转的)Compiling...Error spawning cl.exe3-6.exe - 1 error(s), 0 warning(s)可能很多人在安装VC 6.0后有过点击“Compile”或者“Build”后被出现的“Compiling... ,Error spawning cl.exe”错误提示给郁闷过。很多人的选择是重装,实际上这个问题很多情况下是由于路径设置的问题引起的,“CL.exe”是VC使用真正的编译器(编译程序),其路径在“VC根目录\VC98\Bin”下面,你可以到相应的路径下找到这个应用程序。因此问题可以按照以下方法解 阅读全文

posted @ 2012-03-11 23:27 无忧consume 阅读(357) 评论(0) 推荐(0) |

摘要:介绍Xcode是一个强大的专业开发工具,可以简单快速、而且以您熟悉的方式执行绝大多数常见的软件开发任务。相对于创建单一类型的应用程序所需要的能力而言,Xcode要强大得多,它的设计目的是使您可以创建任何想像得到的软件产品类型,从Cocoa及Carbon应用程序,到内核扩展及Spotlight导入器等各种开发任务,Xcode都能完成。Xcode独具特色的用户界面可以帮助您以各种不同的方式来漫游工程中的代码,并且使您可以访问工具箱下面的大量功能,包括GCC,javac,jikes,和GDB,这些功能都是制作软件产品需要的。它是一个由专业人员设计的、又由专业人员使用的工具。由于能力出众,Xcode已 阅读全文

posted @ 2012-03-11 16:39 无忧consume 阅读(317) 评论(0) 推荐(0) |

摘要:80后步入而立之年,这个年龄段的人必然面临结婚生子的压力。前几年还在父母身边撒娇的80后转眼要独立买房,买房时需要注意哪些问题呢?下面就来讲一讲80后买房必看的七大建议,以及买卖二手房的七大避开雷区的招数。1、贷款自己还 首付可以找父母,但鼓励自己贷款,毕竟他们赚养老钱不容易。适当“啃老”并不丢人,现在房价这么高,在80后还没有能力支付大笔首付时,父母的支持是80后最坚实的后盾。 不过在爸妈打好基础之后,就需要自己为月供努力了。 记者点评:自己动手丰衣足食,记者认为这一个口还是最好不要开,80后最大的问题就是依赖思想,一旦开了第一个口,后面的口再开,不少80后就会心安理得的。中国有一... 阅读全文

posted @ 2012-03-11 12:54 无忧consume 阅读(231) 评论(0) 推荐(0) |

摘要:我们都知道在C/C++语言中,堆内存是应该由程序员负责释放的,编译器并不负责释放程序员自己分配的堆内存空间;而在Objective-C语言 中,类实例的释放是通过release方法进行释放的,如果是Autorelease Pool中的实例,程序员还不必自己手动释放相应的内存空间,这点对于习惯在iPhone中使用C/C++风格编写程序的程序员来说,无疑是有点迷惑性 的,例如下面的代码:view plaincopy to clipboardprint?#import<Foundation/Foundation.h>@interfaceMemoryManager:NSObject{@pu 阅读全文

posted @ 2012-03-11 03:03 无忧consume 阅读(212) 评论(0) 推荐(0) |

摘要:还有许多理论知识需要讨论,但与其花许多时间在复杂的数学公式或难以理解的概念上,还不如让我们开始熟悉OpenGL ES的基本绘图功能。请下载OpenGL Xcode项目模板。我们使用此模板而不是Apple提供的模板。你可以解压到下面目录来安装它:/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Project Templates/Application/此模板用于全屏OpenGL程序,它具有一个OpenGL视图以及相应的视图控制器。 大部分时候你不需要动到此视图。此视图用于处理一些诸如缓存切换之类的事物,但在两处调用了其 阅读全文

posted @ 2012-03-11 02:29 无忧consume 阅读(237) 评论(0) 推荐(0) |

摘要:从零开始学习OpenGL ES之一 – 基本概念我曾写过一些文章介绍iPhone OpenGL ES编程,但大部分针对的是已经至少懂得一些3D编程知识的人。作为起点,请下载我的Empty_OpenGL_ES_Application.zip(42.39 KB, 下载次数: 14),而不要使用Apple提供的模板。你可以解压到下面位置安装此模板:/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Project Templates/Application/已经有大量有关OpenGL的好教程和书籍。但是,却没有多少是关于Ope 阅读全文

posted @ 2012-03-11 02:22 无忧consume 阅读(367) 评论(0) 推荐(0) |

摘要:Objective-C构造函数是本文要介绍的内容,主要是来了解构造函数,它是在创建对象的时候用来初始化对象数据的一种特殊的方法,构造方法返回对象的一个指针,我们可以通过调用超类的 init 方法来获取这个指针。objective-c函数,Objective-C 构造函数,Objective-C函数调用,Objective-C函数声明。构造函数是在创建对象的时候用来初始化对象数据的一种特殊的方法。构造函数可以使用任何方式命名,但是通常,将他们命名为 Init 。构造方法返回对象的一个指针,我们可以通过调用超类的 init 方法来获取这个指针,超类是当前的类所派生自的类,也就是当前类的父类,这.. 阅读全文

posted @ 2012-03-11 01:30 无忧consume 阅读(367) 评论(0) 推荐(0) |

该文被密码保护。

posted @ 2012-03-09 01:10 无忧consume 阅读(3) 评论(0) 推荐(0) |

摘要:1、必要组件安装 打开“控制面板”→“添加或删除程序”→“添加或删除Windows组件”→“应用程序服务器”→“详细信息”→“Internet信息服务(IIS)”→“详细信息”→“因特网服务”→“详细信息”→勾选“远程桌面Web连接”→连点三个“确定”→“下一步”等待完成。2、启用或禁用远程连接 打开系统中的控制面板,在“远程”选项卡上,选中或清除“允许用户远程连接到您的计算机”复选框。单击“选择远程用户…”,在随后出现的对话框中添加或删除用户,单击“确定”(两次)。 阅读全文

posted @ 2012-03-08 17:16 无忧consume 阅读(196) 评论(0) 推荐(0) |

摘要:Linux 网络编程基础 ---------------客户端/服务器的简单实现一、 Socket的基本知识1. socket历史与功能 在80年代早期,加利福尼亚大学伯克利分校的一个研究组,将TCP/IP软件一直到UNIX操作系统上。作为实现该项目的一部分,他们设计了一种接口,应用程序可以通过这个接口方便的进行通信。这样做的结果是出现了插件接口(Barkeley Socket)。图1. Socket层次 Socket实质上提供了进程通信的端点,进程通信之前,双方必须首先各自创建一个端点,否则是没有办法建立联系并相互通信的。 每一个Socket都一个半相关描述: {协议, 本地地址, ... 阅读全文

posted @ 2012-03-08 13:07 无忧consume 阅读(301) 评论(0) 推荐(0) |

摘要:[iPhone学习笔记五]iPhone程序包结构 当build iPhone程序时,Xcode会将它打成一个包。这个包是文件系统下的一个目录用于将相关资源放到一起。一个iPhone程序包包括可执行程序和程序使用的各种资源(例如程序图标、其他图片和本地化资源等)。下面我们逐个看一下iPhone程序包里到底有什么?MyApp 盛放程序代码的可执行文件。此文件的名称与工程的名称相同。这个文件是必须的。Settings.bundle Settings.bundle是一个像设置程序(Settings Application)添加设置选项的一组文件包。这个文件包中包含有属性列表和其他用于设置和现实属... 阅读全文

posted @ 2012-03-08 00:36 无忧consume 阅读(227) 评论(0) 推荐(0) |

摘要:[iPhone学习笔记四]iPhone的基本设计模式 UIKit框架的设计采用了很多和Cocoa程序类似的设计模式。理解这些设计模式对开发iPhone程序非常重要。因此在学习开发iPhone程序前,有必要了解一下iPhone开发中常用的设计模式。iPhone应用程序中的基本设计模式包括:MVC模式(Model-View-Controller) MVC模式是将你的代码风格成独立的功能模块的良好方法。模型(Model)部分定义了底层数据引擎并负责维护这些数据的整合;视图(View)部分定义了用户界面,它并不知道显示在界面上的原始数据的具体含义;控制器(Controller)部分像是模型和视图之.. 阅读全文

posted @ 2012-03-08 00:35 无忧consume 阅读(213) 评论(0) 推荐(0) |

摘要:[iPhone学习笔记三]事件处理循环 UIApplicationMain处理完程序初始化以后,他会开启时间出来循环和屏幕绘制循环。过程如下图:当用户与iPhone设备交互时,iPhoneOS会检测触摸事件并把它放到事件队列中。负责事件处理的UIApplication对象每次从队列顶部取出事件,并把它传递给最适合处理它的对象。例如在按钮上的点击事件会被传递给相应的按钮对象。时间也可以被传递给控制器或其他并非直接处理改事件的其他对象。 在iPhoneOS的Multi-Touch事件模型中,触摸数据被封装到单独的事件对象中(UIEvent).为了跟踪某个触摸,事件对象包含若干个触摸对象(UIT.. 阅读全文

posted @ 2012-03-08 00:34 无忧consume 阅读(196) 评论(0) 推荐(0) |

摘要:[iPhone学习笔记二]谈谈代理类(delegate class) 程序的代理对象是开发者自己实现的对象,主要负责监听程序的高级行为。代理机制用于避免继承复合UIKit对象(例如UIApplication对象)。使用代理不需要子类继承或重写父类的方法,只要保持复合对象不变,将需要添加或重写的代码放到代理对象中。当有事件发生,复合对象会发送消息给代理对象。 这有点像“钩子”,通过这些“钩子”来执行代码和实现需要的行为。 程序代理负责处理很多重要的系统消息没一个iPhone程序都必须有。这个对象可以是任何实现了UIApplicationDelegate协议(protocol)的对象的实例,U.. 阅读全文

posted @ 2012-03-08 00:33 无忧consume 阅读(230) 评论(0) 推荐(0) |

摘要:[iPhone学习笔记一]iPhone程序的生命周期 任何程序的生命周期都是指从程序加载到程序结束这一短时间。在iPhone中,用户通过点击主页面上的程度图标启动一个程序。点击后,系统会显示一个过渡的画面然后调用main()函数来加载程序。从这一刻开始,大量的初始化工作都交给了UIKit,它加载程序的用户界面并启动事件循环。在时间循环过程中,UIKit将传入的时间和自定义对象相关联并响应程序的命令事件。如果用户的某个操作引起程序的退出,UIKit会通知程序并开始结束程序过程。下图简单的反应了iPhone程序的周期。 在iPhone程序中,main()函数很少被使用。绝大多数实际的工作都交由.. 阅读全文

posted @ 2012-03-08 00:31 无忧consume 阅读(225) 评论(0) 推荐(0) |

摘要:static GLfloat rot = 0.0; static const Vertex3D vertices[]= { {0, -0.525731, 0.850651}, // vertices[0] {0.850651, 0, 0.525731}, // vertices[1] {0.850651, 0, -0.525731}, // vertices[2] {-0.850651, 0, -0.525731}, // vertices[3] {-0.850651, 0... 阅读全文

posted @ 2012-03-07 00:57 无忧consume 阅读(209) 评论(0) 推荐(0) |

摘要:委托是Cocoa中最简单、最灵活的模式之一。委托是指给一个对象提供机会对另一个对象中的变化做出反应或者影响另一个对象的行为。其基本思想是:两个对象协同解决问题。一个对象非常普通,并且打算在广泛的情形中重用。它存储指向另一个对象(即它的委托)的引用,并在关键时刻给委托发消息。消息可能只是通知委托发生了某件事情,给委托提供机会执行额外的处理,或者消息可能要求委托提供一些关键的信息以控制所发生的事情。 委托方法通常包括3种动词:should、will、did。 should表示一个动作发生前,通常带有返回值,可以在动作发生之前改变对象状态。 will在动作发生前,委托可以对动作做出响应,但... 阅读全文

posted @ 2012-03-06 16:16 无忧consume 阅读(215) 评论(0) 推荐(0) |

摘要:http://blog.sina.com.cn/s/blog_6c8f8eba0100rh86.html socket本质上是一个VFS inode数据结构;而inode属于文件数据结构:file,这跟Linux系统总的观点一样,把设备也看成某种类型的文件;地址族,address family,例如AF_UNIX,AF_INET等等;数据结构:pops victor,proto_ops定义地址族、socket类型如SOCK_STREAM、SOCK_DGRAM等等;python实际创建socket的过程是这个过程的翻译:创建新的socket;绑定地址和名字;listening监听;accept. 阅读全文

posted @ 2012-03-06 15:16 无忧consume 阅读(305) 评论(0) 推荐(0) |

摘要:如果回调函数是普通成员函数会出现错误: error C2440: 'type cast' : cannot convert from '' to 'unsigned long (__stdcall *)(void *)' 必须声明为静态成员函数。将成员函数声明为静态虽然可以解决作为线程函数的问题,但是它带来了新的问题,那就是static成员函数只能访问static成员。解决此问题的一种途径是可以在调用类静态成员函数(线程函数)时将this指针作为参数传入,并在改线程函数中用强制类型转换将this转换成指向该类的指针,通过该指针访问非静态成员。 线 阅读全文

posted @ 2012-03-04 02:00 无忧consume 阅读(1413) 评论(0) 推荐(0) |

摘要:错误为:error C2664: 'CreateThread' : cannot convert parameter 3 from 'void (int)' to 'unsigned long (__stdcall *)(void *)'代码如下:void CMultiThread2Dlg::OnStart(){UpdateData(TRUE);int integer=m_nCount;hThread=CreateThread(NULL,0,ThreadFunc,(VOID*)integer,0,&ThreadID);GetDlgItem 阅读全文

posted @ 2012-03-04 01:56 无忧consume 阅读(1567) 评论(0) 推荐(0) |

摘要:放置静态控件时必须先建立一个容器,一般是对话框,这时我们在对话框编辑窗口中,从工具窗口中拖出所需控件放在对话框中即可,再适当修改控件ID,设置控件属性,一个静态控件就创建好了,当对话框被显示时,其上的控件也会显示。 静态控件不需要调用Create()函数来创建。动态控件是指在需要时由Create()创建的控件,这与预先在对话框中放置的控件是不同的。 一、创建动态控件: 为了对照,我们先来看一下静态控件的创建。 而创建动态控件有很大不同,以下以按钮为例,看一下动态控件的创建过程: 1.建立控件ID号: ID号是控件的标识,创建控件前必须先为它设置一个ID号。 打开资源中的“... 阅读全文

posted @ 2012-03-04 01:38 无忧consume 阅读(649) 评论(0) 推荐(0) |

摘要:int WINAPI MessageBoxA(HWND,LPCSTR,LPSTR,UINT); 而WINAPI实际上就是__stdcall.大多数API都采用__stdcall调用规范,这是因为几乎所有的语言都支持__stdcall调用.相比之下,__cdecl只有在C语言中才能用.但是__cdecl调用有一个特点,就是能够实现可变参数的函数调用,比如printf,这用__stdcall调用是不可能的. __fastcall这种调用规范比较少见,但是在Borland C++ Builder中比较多的采用了这种调用方式.如果有共享代码的需要,比如写DLL,推荐的方法是用__std... 阅读全文

posted @ 2012-03-04 01:32 无忧consume 阅读(167) 评论(0) 推荐(0) |

摘要:解决方法:将C:\Program Files\Microsoft Visual Studio 6\Common\MSDev98\Bin下的mspdb60.dll文件拷贝到C:\Program Files\Microsoft Visual Studio 6\VC98\Bin目录下即可 阅读全文

posted @ 2012-03-04 00:42 无忧consume 阅读(228) 评论(0) 推荐(0) |

摘要:中间件技术百科名片 中间件(Middleware)是处于操作系统和应用程序之间的软件,也有人认为它应该属于操作系统中的一部分。人们在使用中间件时,往往是一组中间件集成在一起,构成一个平台(包括开发平台和运行平台),但在这组中间件中必需要有一个通信中间件,即中间件=平台+通信,这个定义也限定了只有用于分布式系统中才能称为中间件,同时还可以把它与支撑软件和实用软件区分开来。一 什么是中间件? 为什么要使用中间件? 具体地说,中间件屏蔽了底层操作系统的复杂性,使程序开发人员面对一个简单而统一的开发环境,减少程序设计的复杂性,将注意力集中在自己的业务上,不必再为程序在不同系统软件上的移植而重复工... 阅读全文

posted @ 2012-03-02 21:08 无忧consume 阅读(492) 评论(0) 推荐(0) |

摘要:如同我所说的,结构图显示建模系统的静态结构。关注系统的元件,无需考虑时间。在系统内,静态结构通过显示类型和它们的实例进行传播。除了显示系统类型和它们的实例,结构图至少也显示了这些元素间的一些关系,可能的话,甚至也显示它们的内部结构。 贯穿整个软件生命周期,结构图对于各种团队成员都是有用的。一般而言,这些图支持设计验证,和个体与团队间的设计交流。举例来说,业务分析师可以使用类或对象图,来为当前的资产和资源建模,例如分类账,产品或地理层次。架构师可以使用组件和部署图,来测试/确认他们的设计是否充分。开发者可以使用类图,来设计并为系统的代码(或即将成为代码的)类写文档。特殊的类图 UML 2... 阅读全文

posted @ 2012-03-02 20:04 无忧consume 阅读(278) 评论(0) 推荐(0) |

摘要:对于一个电脑用户而言,“格式化”这个词绝对不应该陌生。事实上,当我们需要安装一个“干净”的操作系统时,往往都会祭出“格式化”这招“杀手锏”,来彻底清除系统盘上的数据。这个过程通常可以在DOS或Windows两种环境下进行:DOS环境下可采用Format命令来实现;而Windows中则可以直接在需要格式化的盘符上单击鼠标右键,然后在弹出的菜单中选择“格式化”功能来完成(如图1)。相比较而言,后者更容易被普通用户所掌握,且所需耗费的时间更短。虽然两者的操作方式和格式化所需的时间都有所不同。但它们实际上都是 对硬盘进行同一种操作,那就是清除硬盘上的数据、生成引导区信息、初始化FAT表、标注逻辑... 阅读全文

posted @ 2012-03-02 16:51 无忧consume 阅读(467) 评论(0) 推荐(0) |

摘要:字体太小,看着不爽,决定改大一点。在VS界面 工具->选项—>环境->字体和颜色里 ,自己设置一下大小 Consolas是一种专门为编程人员设计的字体,这一字体的特性是所有字符都具有相同的宽度,让编程人员看着更舒服,当然在打个人和商业信函的时候,用这个字体也是不错的选择,这一字体还专门为ClearType做了优化,可以让它更舒适地展示在萤幕上.这一字体仅仅授权给Microsoft Visual Studio 2005和2008用户,安装后将改变默认字体. Consolas Font Pack for Microsoft Visual Studio 2005 or 2008 怎 阅读全文

posted @ 2012-03-02 15:08 无忧consume 阅读(862) 评论(0) 推荐(0) |

摘要:http://blog.sina.com.cn/s/blog_69c961b70100l260.html在软件开发中“网络编程”是必不可少的基本功了;本文所讲的Socket编程也就是网络编程中的一种形式;当然你如果想问我什么叫“Socket”,很遗憾的是我也不能准确的告诉你!但我们可以确定的是Sock并不是一种网络协议,它只是一个网络编程接口,也就是说,它不是协议,但是它可以访问很多种网络协议,你可以把他当作一些协议的封装。Socket编程涉及Socket服务端与客户端编程;与VC6下的Socket编程一样(VC6用ws2_32.lib库,而WinCE则用Ws2.lib库),服务端与客户端编程 阅读全文

posted @ 2012-03-02 14:20 无忧consume 阅读(533) 评论(0) 推荐(0) |

摘要:cannotopenfile'LIBC.lib'对于这个错误在VS2005中,可以通过如下方式解决:项目-->项目属性-->配置属性-->连接器-->输入-->忽略特定库在弹出的框中加入LIBC.LIB就可以通过编译了,但是似乎还有些问题没有解决,因为最终编译出来的结果是差了一点东西的。libc.lib原来是被遗弃的可怜家伙。Run-Time Library是编译器提供的标准库,提供一些基本的库函数和系统调用。我们一般使用的Run-Time Library是C Run-Time Libraries。当然也有Standard C++ librarie 阅读全文

posted @ 2012-03-02 14:20 无忧consume 阅读(519) 评论(0) 推荐(0) |

摘要:C++经典错误之already defined in *****.obj解决方法我的程序是如下形状:一个头文件.h,一个主函数.cpp,一个操作函数.cpp。操作函数包含头文件,然后主函数包含操作函数.cpp。运行时出现错误:错误症状:Linking...xz.obj : error LNK2005: "public: __thiscall XZ::XZ(void)" (??0XZ@@QAE@XZ) already defined in xzmain.objxz.obj : error LNK2005: "public: void __thiscall XZ::p 阅读全文

posted @ 2012-03-02 14:16 无忧consume 阅读(874) 评论(0) 推荐(0) |

摘要:VS2005的MFC Class Wizard哪去了在VS2005中拆分成两个功能:(1)、对控件和菜单建立事件映射的功能;可以通过在资源视图(通过双击资源文件*.rc可进入该视图),右键某一个菜单或者控件,在弹出的菜单中选择“添加事件处理程序;(2)、添加窗体的消息映射;在类视图(通过菜单“视图->类视图 Ctrl+W,C”可以进入)上双击类,然后在类上右键,选择“属性”菜单,进入属性界面,在属性界面上边有几个事件、消息的按钮,点击消息后选择具体创建的消息即可。该功能比较隐蔽,用起来感觉不是很方便。本文引用地址:http://www.sciencenet.cn/blog/user_co 阅读全文

posted @ 2012-03-02 14:14 无忧consume 阅读(234) 评论(0) 推荐(0) |

摘要:关键词: MFC 多线程及线程同步 VC++6.0; 线程同步;临界区;事件;互斥;信号量; 使线程同步 在程序中使用多线程时,一般很少有多个线程能在其生命期内进行完全独立的操作。更多的情况是一些线程进行某些处理操作,而其他的线程必须对其处理结果进行了解。正常情况下对这种处理结果的了解应当在其处理任务完成后进行。 如果不采取适当的措施,其他线程往往会在线程处理任务结束前就去访问处理结果,这就很有可能得到有关处理结果的错误了解。例如,多个线程同时访问同一个全局变量,如果都是读取操作,则不会出现问题。如果一个线程负责改变此变量的值,而其他线程负责同时读取变量内容,则不能保证读取到的数据是经过写.. 阅读全文

posted @ 2012-03-02 14:11 无忧consume 阅读(368) 评论(0) 推荐(1) |

摘要:1)如何通过代码获得应用程序主窗口的 指针?主窗口的 指针保存在CWinThread::m_pMainWnd中,调用AfxGetMainWnd实现。AfxGetMainWnd() ->ShowWindow(SW_SHOWMAXMIZED)//使程序最大化.(2)确定应用程序的路径Use GetModuleFileName 获得应用程序的路径,然后去掉可执行文件名。Example:TCHARexeFullPath[MAX_PATH] // MAX_PATH在API中定义了吧,好象是128GetModuleFileName(NULL,exeFullPath,MAX_PATH)(3)如何在程序 阅读全文

posted @ 2012-03-02 14:09 无忧consume 阅读(288) 评论(0) 推荐(0) |

摘要:无线网络,就是利用无线电波作为信息传输的媒介构成的无线局域网(WLAN),与有线网络的用途十分类似,最大的不同在于传输媒介的不同,利用无线电技术取代网线,可以和有线网络互为备份。 Wi-Fi 俗称 无线宽带 全称Wireless Fidelity。802.11b有时也被错误地标为Wi-Fi,实际上Wi-Fi是无线局域网联盟(WLANA)的一个商标,该商标仅保障使用该商标的商品互相之间可以合作,与标准本身实际上没有关系。但是后来人们逐渐习惯用WIFI来称呼802.11b协议。它的最大优点就是传输速度较高,可以达到11Mbps,另外它的有效距离也很长,同时也与已有的各种802.11 DSS... 阅读全文

posted @ 2012-03-02 09:58 无忧consume 阅读(338) 评论(0) 推荐(0) |

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3