摘要:1. Linux中可变列表实现的源码分析查看Linux0.11的内核源代码,对va_list, va_start, va_arg 的实现如下:va_list的实现没有差别,chartypedef char va_list;va_start的实现#define va_start(AP, LASTARG...
阅读全文
摘要:在Interface中,asBinder函数涌来将服务类接口类型转换为IBinder类型;相反的,asInterface函数用来将Ibinder类型转换为服务接口类型
阅读全文
摘要:将ASCII字符转换为对应的数值即‘a’-->65,使用ord函数,ord('a')反正,使用chr函数,将数值转换为对应的ASCII字符,chr(65)
阅读全文
摘要:1.方法开机时间:1)利用timeGetTime获取开机后到当前的毫秒数,然后转换为秒数(舍去毫秒);2)再和当前时间做差,得到Unix格式的格林威治时间。上次关机时间:保存在注册表local machine下的SYSTEM\\CurrentControlSet\\Control\\Windows中的ShutdownTime中,其值为8字节的FILETIME。2. 参考代码其中注释掉的部分主要为中间输出,需要的额话可以还原。其中包含两个额外函数:time_t和FILETIME的相互转化//参考自http://msdn.microsoft.com/en-us/library/windows/de
阅读全文
摘要:在c++中以c的方式使用接口时,应当:i->lpVtbl->....,但是编译器可能会提示lpVtbl不是相应com接口的成员。这是因为在com头文件中有两种定义方式,即c和c++;这两种方式通过 __cplusplus和CINTERFACE来区分。。 故,我们不仅需要定义CINTERFACE,而且还需要把#define CINTERFACE的定义放在头文件包含之前。
阅读全文
摘要:以前写导出函数时,都是在*.def中声明,但是ide自动生成的导出函数却是利用__declspect(dllexport)实现,那么我们自己在添加导出函数时,则需: 1. 在需要导出的函数或类前添加__declspect(dllexport)即可。例如要导出函数void test(),则应该为:__declspect(dllexport) void test(){...} 2. 步骤1导出的函数如果用pe工具查看导出函数,则看到的是"?test@@YAXXZ",产生这种现象的原因是我们以c++的方式导出,而c++有名字粉碎机制,C++编译器对程序员编写的函数名、变量名进行粉
阅读全文
摘要:题目:给定一个整数N,求编码函数f,f满足M=f(N),M可以不存在,且M和n的关系满足:M的位数和N相同M的各个位之和与N的各个位之和相同M>NM是满足上述条件中,值最小的一个解分析:对于整数N = 18990,将其最高位到最低位一次存在数组a[p]={1, 8, 9, 9, 0},那么要求解则需低位-1,次低位+1;但是当位为0,则无法-1;位为9则无法+1;为了找到合适的操作位,进行如下判断:最低的不为0的位(非0才可以-1)上进行-1;在比进行-1操作高位的区间内,找最低的非9位,进行+1操作。在进行+1、-1的操作位后,需要对比+1操作的位低的所有位进行排序,按照从高位的低位升
阅读全文
摘要:【转自】http://hi.baidu.com/jxq61/blog/item/90037f272a9ae46c35a80fdc.htmlPython 在 ctypes 中为我们提供了类似C语言的数据类型,它的用途(我理解的)可能是:(1) 与 其他语言(如 C、Delphi 等)写的动态连接库DLL 进行交换数据,因为 python 的 数据与 DLL难以进行数据交换。(2) python 的字符串一旦形成,是不可变的,为了算法的需要,我们有时需要对字符串进行原位操作 ( in place ),而不想浪费另外的内存空间。(3) python 具有很简明的语法,人们乐于使用。在解决实际问题时,
阅读全文
摘要:看内容会很失望,,让人hurt的易语言。。。没办法帮别人看一个易语言的程序,要添加这个东西,,其实这是我第一次接触,然后修改和写易语言的程序。。http://www.ip138.com/ip2city.asp 这个不错————————————————————————————————.版本 2.子程序 取外网IP, 文本型, 公开, 取外网IP.局部变量 原文, 文本型.局部变量 过度, 文本型, , "0".局部变量 IP, 文本型原文 = 到文本 (彗星HTTP读文件 (“http://www.ip138.com/ip2city.asp”))过度 = 分割文本 (原文,
阅读全文
摘要:很诡异,昨天折腾后,搞定了第一个rails app。今天用ruby直接调用数据库,,,结果无法显示结果。。提示:in `each_hash': NULL pointer given (ArgumentError from。。。。mysql版本:5.1.42-community-loggoogle之后,采用如下方式解决:从instantrails那里找个libmysql.dll放到ruby/bin里面,一切ok了事实上,还是不是很清楚,昨天也是mysql gem的问题。。。今天又是这个。。应该不仅仅是单纯版本问题。。先继续,稍后深入接触了希望可以理解其中的原因,mark!
阅读全文
摘要:[转自]http://blog.sina.com.cn/s/blog_4b44e1c00100luh8.html如果需要,请在StdAfx.h中添加 #include <shlobj.h>TCHAR MyDir[_MAX_PATH];SHGetSpecialFolderPath(this->GetSafeHwnd(),MyDir,CSIDL_APPDATA,0);AfxMessageBox(MyDir);其中第三个参数CSIDL_APPDATA可以为以下的值:CSIDL_BITBUCKET回收站CSIDL_CONTROLS控制面板CSIDL_DESKTOPWindows桌面D
阅读全文
摘要:如题,代码如下:这里只是获得文本内容,对于剪贴板中的其他类型数据,则略有差异,需要指定类型。
阅读全文
摘要:正则表达式是什么? 正则表达式是使用一套特殊符号模式做为表达格式的字符串,主要用处是描述和解析文本。许多程序员(甚至一些不错的高手)都无视(也不用)正则表达式,我认为这是一个耻辱,因为在解决很多问题的时候,正则表达式常常让我们有得心应手的感觉。一旦你掌握了,就会发现它能解决无数真实世界的问题。 正则表达式的工作方式就象Windows或者*nix系统里面的文件名替代符 - 你可以使用...
阅读全文