1、获取时间戳CTime::GetCurrentTime.GetTickCount()
2、获取时间CTime time = CTime::GetCurrentTime(); time.Format(_T("%Y%m%d%H%M%S")))
3、LONG WINAPI CZipControl::UnhandledExceptionFilter_Func(struct _EXCEPTION_POINTERS* ExceptionInfo)
{
char strDumpFile[MAX_PATH] = {0};
sprintf(strDumpFile, "%s\\%d.dmp", GetProjPath(), CTime::GetCurrentTime().GetTickCount());
HANDLE hFile = CreateFile(strDumpFile, GENERIC_WRITE, FILE_SHARE_WRITE,NULL, CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
if (hFile != INVALID_HANDLE_VALUE)
{
MINIDUMP_EXCEPTION_INFORMATION ExInfo;
ExInfo.ThreadId = ::GetCurrentThreadId();
ExInfo.ExceptionPointers = ExceptionInfo;
ExInfo.ClientPointers = TRUE;
MiniDumpWriteDump(GetCurrentProcess(), GetCurrentProcessId(), hFile, MiniDumpNormal,&ExInfo, NULL, NULL);
CloseHandle(hFile);
}
return EXCEPTION_EXECUTE_HANDLER;
}
__try
__except(UnHandledExceptionFilter_Func(GetExceptionInformation()))
4、7zip解压_T("\"-y\" \"x\" \"%s\" -o\"%s\""); winrar 解压 _T("\"-y\" \"x\" \"%s\" -o \"%s\"");
压缩:STRING_WINRAR_COMMAND = _T("a -r -ep1 -afzip -df -o+ \"%s\" \"%s\"");
STRING_7ZIP_COMMAND = _T("a -tzip -y \"%s\" \"%s\"");
5、单例模式:
private: CSqlInfo(void); //构造函数设置为私有。
public: static CSqlInfo *GetInstance(); //获取唯一实例。
CSqlInfo::CSqlInfo(void){}
CSqlInfo* CSqlInfo::GetInstance()
{
static CSqlInfo SqlInfo;
return &SqlInfo;
}
6、|||| |||| ||||,
0123 4567 891011
内存对齐,大的类型写在前面。CPU读取数据的时候粒度为1、2、4、8、16...
假设要读取从1开始的4个字节,那么要读取两次才能把 0123,4567读进来,然后进行
合并操作。
7、大小端
bool Big_Endian()
{
union Endian
{
long l;
char c[sizeof(long)];
}e;
e.l = 1;
return (1 == e.c[sizeof(long) - 1]);
}
bool Little_Endian()
{
union Endian
{
long l ;
char c;
}e;
e.l = 1;
return(1 == e.c);
}