+ (instancetype)createSark { return [self new];}// callerSark *sark = [Sark createSark]; 编译器改写成了形如下面的代码: + (instancetype)createSark { id tmp = [self new]; return objc_autoreleaseReturnValue(tmp); // 代替我们调用autorelease}// callerid tmp = objc_retainAuto…
Dapper的牛逼就不扯蛋了,答应群友做个入门Demo的,现有园友需要,那么公开分享一下: 完整Demo:http://pan.baidu.com/s/1i3TcEzj 注 意 事 项:http://www.cnblogs.com/dunitian/p/5221058.html 平台之大势何人能挡? 带着你的Net飞奔吧! http://www.cnblogs.com/dunitian/p/4822808.html#skill 扩展篇:http://www.cnblogs.com/dunitia…
异常汇总:http://www.cnblogs.com/dunitian/p/4523006.html#dapper 今天帮群友整理Dapper基础教程的时候手脚快了点,然后遇到了一个小问题,Dapper QueryMultiple 返回数据的问题 多个返回值用QueryMultiple ,这个大家都知道,如果不清楚的看下下面的文档: 这个是官方文档: Multiple Results Dapper allows you to process multiple result grids in a…
GetLastError返回的值通过在api函数中调用SetLastError或SetLastErrorEx设置.函数并无必要设置上一次错误信息,所以即使一次GetLastError调用返回的是零值,也不能担保函数已成功执行.只有在函数调用返回一个错误结果时,这个函数指出的错误结果才是有效的.通常,只有在函数返回一个错误结果,而且已知函数会设置GetLastError变量的前提下,才应访问GetLastError:这时能保证获得有效的结果.(来源:百度百科) 在进行windows网络编程时,可以…
1.activity的生命周期 这七个方法定义了Activity的完整生命周期.实现这些方法可以帮助我们监视其中的三个嵌套生命周期循环: (1)Activity的完整生命周期 自第一次调用onCreate()开始,直到调用onDestory()为止.Activity在onCreate()中设置所有“全局”状态以完成初始化. 而在onDestory()中释放所有系统资源.例如,如果Activity有一个线程在后台运行从网络下载数据,它会在onCreate()创建线程, 而在onDestory()销…
const修饰函数 在类中将成员函数修饰为const表明在该函数体内,不能修改对象的数据成员而且不能调用非const函数.为什么不能调用非const函数?因为非const函数可能修改数据成员,const成员函数是不能修改数据成员的,所以在const成员函数内只能调用const函数. #include <iostream> using namespace std; class A{ private: int i; public: void set(int n){ //set函数需要设置i的值,所…
前提知识 c0s调用main函数的地址: 11ah main函数的连接地址: 01fah 一.全局变量与局部变量 测试程序 int a1,a2,a3; void f(void); void g(void); void h(void); main() { int b1,b2,b3; a1 = 0xa1;a2 = 0xa2;a3 = 0xa3; b1 = 0xb1;b2 = 0xb2;b3 = 0xb3; } void f(void) { int c1,c2,c3; a1 = 0x0fa1;a2 =…
有关形参与实参的说明:(1) 在定义函数时指定的形参,在未出现函数调用 时,它们并不占内存中的存储单元,因此称它们是 形式参数或虚拟参数,表示它们并不是实际存在的数据,只有在发生函数调用时,函数max中的形参才被分配内存单元,以便接收从实参传来的数据. 在调用结束后,形参所占的内存单元也被释放 (4) 实参与形参的类型应相同或赋值兼容.如果实参为整型而形参为实型,或者相反,则按不同类型数值的赋值规则进行转换.例如实参a的值为3.5,而形参x为整型,则将3.5转换成整数3,然后 送到形参b.字符型…
在C语言操作中会用到大量的内存操作,当中非经常常使用的一个是realloc(). 由字面意思能够知道,该函数的作用是用于又一次分配内存. 使用方式例如以下: NewPtr=(数据类型*)realloc(OldPtr,MemSize) 当中OldPtr指向 待又一次分配内存的指针. NewPtr指向 新分配空间的指针. MemSize为 分配后的空间大小. 该函数的使用涉及下面几个问题: 1.不同情况下的返回值 2.OldPtr指向的内存会不会自己主动释放 3.OldPtr和NewPtr各自是什么…
1.    前言 很多朋友在做网络编程开发的时候可能都遇到这样的问题,在进行接收二进制流的数据的时候,使用strlen库函数来得到 二进制数据长度的时候并不准确.为什么呢??首先,使用strlen进行统计长度的为字符串,并非二进制流数据,因此在 获取二进制数据流的定长中并不适合.解决的问题必然使用网络接收函数的返回值来进行判断,如recv和recvfrom等. 2.    简单的网络服务器 Linux中简单的网络服务器做起来很简单,无非就是以下几个步骤 创建网络套接字(socket) --> 绑…