2014年2月11日

python中的zipfile

摘要: zipfile — Work with ZIP archivesZipFile.namelist() Return a list of archive members by name.返回压缩成员名称列表with ZipFile('spam.zip', 'r') as myzip: for f in myzip.namelist(): print(f)ZipFile.getinfo(name) Return a ZipInfo object with information about the archive member name. Calling getin 阅读全文

posted @ 2014-02-11 23:19 FlowingCloud 阅读(307) 评论(0) 推荐(0) 编辑

2013年10月18日

迭代器之输入和输出迭代器

摘要: 输入迭代器:只能前向读取的迭代器,支持++,不能--输出迭代器:只能前向写入的迭代器,支持++,不能--这两种迭代器最简单,基本只能读取/写入一次例子:#include #include #include #include using namespace std;template void print_range(Iter begin, Iter end){ // 输出 copy(begin, end, ostream_iterator::value_type>(cout, " "));}int main(){ vector coll; // 输入 copy(istr 阅读全文

posted @ 2013-10-18 21:13 FlowingCloud 阅读(753) 评论(0) 推荐(0) 编辑

2013年8月4日

C语言正整数除法向上取整

摘要: 在网上发现一个简单的向上取整方法;这里我们用表示向上取整,[]表示向下取整,那么怎么来表示这个值呢?我们可以证明:=[(N-1)/M]+1 (00时,左边:===k+=k+1右边:[(N-1)/M]+1=[(Mk+r-1)/M]+1=[k+(r-1)/M]+1=k+1+[(r-1)/M]=k+12)当r=0左边:=k右边:[(N-1)/M]+1=[(Mk-1)/M]+1=[(M(k-1)+M-1)/M]+1=[k-1+(M-1)/M]+1=k+[(M-1)/M]=k命题得证。有了这个公式,我们在代码里可以这样计算:int n=(N-1)/M +1原文链接:【向上取整/向下取整】C语言向上或向下 阅读全文

posted @ 2013-08-04 23:55 FlowingCloud 阅读(5996) 评论(0) 推荐(0) 编辑

2013年6月15日

ABI边界的可移植性

摘要: 在二进制接口边界应该使用足够可移植的类型和惯用法。可移植类型指C的内置类型或只含有C内置类型的结构体(struct)。Class类型只有在调用方和被调用方在内存布局和调用约定一致的情况下才可以使用,这通常只有在双方使用同样的编译器和编译选项的情况下才成为可能。如何使一个class转化为可移植的C等价物 当调用方可能被另一种编译器或语言编译的时候,使用一定的调用惯例将class"flatten"到“extern C”接口。示例:// class widget {// widget();// ~widget();// double method(int, gadget& 阅读全文

posted @ 2013-06-15 21:26 FlowingCloud 阅读(146) 评论(0) 推荐(0) 编辑

2013年5月15日

chapt16、线程堆栈

摘要: 这里的堆栈指的就是栈 Stack线程堆栈默认大小是保留1M,初始提交2个页面,如8KB,1读写,1具有PAGE_GUARD保护属性堆栈扩展的时候,会因为保护属性触发异常,线程根据这个自动增长2000的堆栈在Win2000里,最后一个页面不会被用到,会被最终标记reserve,当提交到倒数第二个页面的时候,会触发EXCEPTION_STACK_ OVERFLOW,虽然这还不是最后一个page,但是这个时候就应该妥善处理这个问题了,否则容易发生严重的问题98的堆栈--A Thread's Stack Under Windows 98在Win98里,线程堆栈的前后是额外个增加了64KB的,即 阅读全文

posted @ 2013-05-15 21:35 FlowingCloud 阅读(244) 评论(0) 推荐(0) 编辑

2013年5月14日

chapt15、使用虚拟内存

摘要: windows提供了三种操作内存的机制:Virtual memory:适合用来操作大对象/结构数组Memory-mapped files:适合操作文件流,或用来在同一台机器的不同进程之间用来共享数据Heaps:适合用来管理大量的小对象地址保留--Reserving a Region in an Address Space PVOID VirtualAlloc( PVOID pvAddress, // 希望保留的基础地址,会被向下倒CPU分配粒度 SIZE_T dwSize, // 需要保留的大小 DWORD fdwAllocationType, // 标志位 DWORD fdw... 阅读全文

posted @ 2013-05-14 21:38 FlowingCloud 阅读(175) 评论(0) 推荐(0) 编辑

2013年5月11日

chapt14、探索虚拟内存

摘要: 探索windows的内存管理和进程的虚拟地址空间获取系统信息--System InfoVOID GetSystemInfo(LPSYSTEM_INFO psinf);typedef struct _SYSTEM_INFO { union { DWORD dwOemId; // Obsolete, do not use struct { WORD wProcessorArchitecture; WORD wReserved; }; }; DWORD dwPageSize; // 页面大小 LPVOID ... 阅读全文

posted @ 2013-05-11 10:04 FlowingCloud 阅读(306) 评论(0) 推荐(0) 编辑

2013年5月7日

chapt13、Windows内存结构

摘要: 每一个process具有自己独立的虚拟地址空间在32位机器上是4GB:0x00000000 - 0xFFFFFFFF在64为机器上是16EB:0x00000000'00000000 - 0xFFFFFFFF'FFFFFFFF地址空间是分区域的,一般如下:NULL-Pointer Assignment:空指针区域,访问这个地方的地址会产生 memory access violationDOS/16-bit Windows Application Compatibility:16位应用程序兼容区,win98特有的,32位应用程序不该访问这个范围的内容User-Mode:用户模式,w 阅读全文

posted @ 2013-05-07 07:52 FlowingCloud 阅读(170) 评论(0) 推荐(0) 编辑

2013年2月24日

修改mysql密码

摘要: 1、首先启动mysqld,无授权验证模式,为了安全,将监听地址bind在localhostcmd>mysqld --skip-grant-tables --bind-address=localhost2、运行mysqlcmd>mysqlWelcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 1Server version: 5.0.90-community-nt MySQL Community Edition (GPL)Type 'help;' or &# 阅读全文

posted @ 2013-02-24 11:29 FlowingCloud 阅读(189) 评论(0) 推荐(0) 编辑

2013年1月11日

get files version by vbs

摘要: 获取某目录下所有dll/exe的文件版本信息Function IsPEFile(fn) IsPEFile = (Right(fn, 4) = ".dll" or Right(fn, 4) = ".exe")End FunctionDim g_txtFileFunction walkDir(folderspec) Dim fso, f, f1, sf Set fso = CreateObject("Scripting.FileSystemObject") Set f = fso.GetFolder(folderspec) Set sf 阅读全文

posted @ 2013-01-11 18:06 FlowingCloud 阅读(158) 评论(0) 推荐(0) 编辑

导航