小P第一次写博客
来源:互联网 发布:优化软件下载 编辑:程序博客网 时间:2024/05/01 06:25
第一次写博客
NUMBER 0
接触csdn已经有一段时间了,大部分是查找资料,还真的在这找到不少的好东西,但对于博客这玩意儿,从来没尝试过,但我想尝试一下,而且定下一个长期的目标,整个的大学时光,多写写博客,多向大牛们学习,”Stay Hungry, Stay Foolish!”
NUMBER 1
第一次用markdown,不会,没事,慢慢学嘛(*^_^*)
NUMBER 2
不得不说,我是一个毅力不够的人,总是无法坚持下去,比如acm,比如健身,一方面是不知道从哪里开始,一方面是从内心深处有抵触的情绪,改变,才是人最难做到的事情,但我这个人的一个毛病就是不爱做太简单的事(。>︿<)_θ
NUMBER 3
我的目标是成为TOP 5%程序员,范围是the world!
其实我一直在考虑,这个目标的是不是会被人嘲笑,高了?低了?
哎,无所谓了,见过的白眼还少吗?
NUMBER 4
选择当一个程序猿,从某种程度上来说是必然的,尽管菜的抠脚,但却把技术当作忠实的信仰,脸厚点,我也要当大神,O(∩_∩)O!!!
注意:以上说的全是心里话啊,真的想要重新做人啊,对,就从今天开始(^_^)1
放一段自认为牛X的代码
(w(゚Д゚)w不是我的)
// Everything IPC test// revision 2:// fixed command line interpreting '-' as a switch inside text.// revision 3:// convert unicode to same code page as console.// revision 4:// removed write console because it has no support for piping.// revision 5:// added ChangeWindowMessageFilterEx (if available) for admin/user support.// compiler options#pragma warning(disable : 4311) // type cast void * to unsigned int#pragma warning(disable : 4312) // type cast unsigned int to void *#pragma warning(disable : 4244) // warning C4244: 'argument' : conversion from 'LONG_PTR' to 'LONG', possible loss of data#pragma warning(disable : 4996) // deprecation#include <windows.h>#include <stdio.h>#include "everything_ipc.h"#define COPYDATA_IPCTEST_QUERYCOMPLETEW 0#define MSGFLT_RESET 0#define MSGFLT_ALLOW 1#define MSGFLT_DISALLOW 2typedef struct tagCHANGEFILTERSTRUCT { DWORD cbSize; DWORD ExtStatus;} CHANGEFILTERSTRUCT, *PCHANGEFILTERSTRUCT;static void write(wchar_t *text);static void write_DWORD(DWORD value);static int wstring_to_int(const wchar_t *s);int sort = 0;EVERYTHING_IPC_LIST *sort_list;HMODULE user32_hdll = 0;BOOL (WINAPI *pChangeWindowMessageFilterEx)(HWND hWnd,UINT message,DWORD action,PCHANGEFILTERSTRUCT pChangeFilterStruct) = 0;int wstring_length(const wchar_t *s) { const wchar_t *p; p = s; while(*p) { p++; } return (int)(p - s);}// query everything with search stringint sendquery(HWND hwnd,DWORD num,WCHAR *search_string,int regex,int match_case,int match_whole_word,int match_path) { EVERYTHING_IPC_QUERY *query; int len; int size; HWND everything_hwnd; COPYDATASTRUCT cds; everything_hwnd = FindWindow(EVERYTHING_IPC_WNDCLASS,0); if (everything_hwnd) { len = wstring_length(search_string); size = sizeof(EVERYTHING_IPC_QUERY) - sizeof(WCHAR) + len*sizeof(WCHAR) + sizeof(WCHAR); query = (EVERYTHING_IPC_QUERY *)HeapAlloc(GetProcessHeap(),0,size); if (query) { query->max_results = num; query->offset = 0; query->reply_copydata_message = COPYDATA_IPCTEST_QUERYCOMPLETEW; query->search_flags = (regex?EVERYTHING_IPC_REGEX:0) | (match_case?EVERYTHING_IPC_MATCHCASE:0) | (match_whole_word?EVERYTHING_IPC_MATCHWHOLEWORD:0) | (match_path?EVERYTHING_IPC_MATCHPATH:0); query->reply_hwnd = hwnd; CopyMemory(query->search_string,search_string,(len+1)*sizeof(WCHAR)); cds.cbData = size; cds.dwData = EVERYTHING_IPC_COPYDATAQUERY; cds.lpData = query; if (SendMessage(everything_hwnd,WM_COPYDATA,(WPARAM)hwnd,(LPARAM)&cds) == TRUE) { HeapFree(GetProcessHeap(),0,query); return 1; } else { write(L"Everything IPC service not running.\n"); } HeapFree(GetProcessHeap(),0,query); } else { write(L"failed to allocate "); write_DWORD(size); write(L" bytes for IPC query.\n"); } } else { // the everything window was not found. // we can optionally RegisterWindowMessage("EVERYTHING_IPC_CREATED") and // wait for Everything to post this message to all top level windows when its up and running. write(L"Everything IPC window not found, IPC unavailable.\n"); } return 0;}int compare_list_items(const void *a,const void *b) { int i; i = wcsicmp(EVERYTHING_IPC_ITEMPATH(sort_list,a),EVERYTHING_IPC_ITEMPATH(sort_list,b)); if (!i) { return wcsicmp(EVERYTHING_IPC_ITEMFILENAME(sort_list,a),EVERYTHING_IPC_ITEMFILENAME(sort_list,b)); } else if (i > 0) { return 1; } else { return -1; }}static void write(wchar_t *text) { DWORD mode; int wlen; DWORD numwritten; HANDLE output_handle; output_handle = GetStdHandle(STD_OUTPUT_HANDLE); wlen = wstring_length(text); if (GetConsoleMode(output_handle,&mode)) { WriteConsoleW(output_handle,text,wlen,&numwritten,0); } else { char *buf; int len; len = WideCharToMultiByte(GetConsoleCP(),0,text,wlen,0,0,0,0); if (len) { buf = HeapAlloc(GetProcessHeap(),0,len); if (buf) { WideCharToMultiByte(GetConsoleCP(),0,text,wlen,buf,len,0,0); WriteFile(output_handle,buf,len,&numwritten,0); HeapFree(GetProcessHeap(),0,buf); } } }}static void write_DWORD(DWORD value) { wchar_t buf[256]; wchar_t *d; d = buf + 256; *--d = 0; if (value) { DWORD i; i = value; while(i) { *--d = '0' + (i % 10); i /= 10; } } else { *--d = '0'; } write(d);}void listresultsW(EVERYTHING_IPC_LIST *list) { DWORD i; if (sort) { sort_list = list; qsort(list->items,list->numitems,sizeof(EVERYTHING_IPC_ITEM),compare_list_items); } for(i=0; i<list->numitems; i++) { if (list->items[i].flags & EVERYTHING_IPC_DRIVE) { write(EVERYTHING_IPC_ITEMFILENAME(list,&list->items[i])); write(L"\r\n"); } else { write(EVERYTHING_IPC_ITEMPATH(list,&list->items[i])); write(L"\\"); write(EVERYTHING_IPC_ITEMFILENAME(list,&list->items[i])); write(L"\r\n"); } } PostQuitMessage(0);}// custom window procLRESULT __stdcall window_proc(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam) { switch(msg) { case WM_COPYDATA: { COPYDATASTRUCT *cds = (COPYDATASTRUCT *)lParam; switch(cds->dwData) { case COPYDATA_IPCTEST_QUERYCOMPLETEW: listresultsW((EVERYTHING_IPC_LIST *)cds->lpData); return TRUE; } break; } } return DefWindowProc(hwnd,msg,wParam,lParam);}void help(void) { write(L"-r Search the database using a basic POSIX regular expression.\n"); write(L"-i Does a case sensitive search.\n"); write(L"-w Does a whole word search.\n"); write(L"-p Does a full path search.\n"); write(L"-h --help Display this help.\n"); write(L"-n <num> Limit the amount of results shown to <num>.\n"); write(L"-s Sort by full path.\n");}// main entryint main(int argc,char **argv) { WNDCLASSEX wcex; HWND hwnd; MSG msg; int ret; int q; wchar_t *search; wchar_t *d; wchar_t *e; wchar_t *s; int match_whole_word = 0; int match_path = 0; int regex = 0; int match_case = 0; int wasexename = 0; int matchpath = 0; int i; int wargc; wchar_t **wargv; DWORD num = EVERYTHING_IPC_ALLRESULTS; ZeroMemory(&wcex,sizeof(wcex)); wcex.cbSize = sizeof(wcex); if (!GetClassInfoEx(GetModuleHandle(0),TEXT("IPCTEST"),&wcex)) { ZeroMemory(&wcex,sizeof(wcex)); wcex.cbSize = sizeof(wcex); wcex.hInstance = GetModuleHandle(0); wcex.lpfnWndProc = window_proc; wcex.lpszClassName = TEXT("IPCTEST"); if (!RegisterClassEx(&wcex)) { write(L"failed to register IPCTEST window class\n"); return 1; } } if (!(hwnd = CreateWindow( TEXT("IPCTEST"), TEXT(""), 0, 0,0,0,0, 0,0,GetModuleHandle(0),0))) { write(L"failed to create IPCTEST window\n"); return 1; } // allow the everything window to send a reply. user32_hdll = LoadLibrary(L"user32.dll"); if (user32_hdll) { pChangeWindowMessageFilterEx = (BOOL (WINAPI *)(HWND hWnd,UINT message,DWORD action,PCHANGEFILTERSTRUCT pChangeFilterStruct))GetProcAddress(user32_hdll,"ChangeWindowMessageFilterEx"); if (pChangeWindowMessageFilterEx) { pChangeWindowMessageFilterEx(hwnd,WM_COPYDATA,MSGFLT_ALLOW,0); } } wargv = CommandLineToArgvW(GetCommandLineW(),&wargc); search = HeapAlloc(GetProcessHeap(),0,65536); if (!search) { write(L"failed to allocate "); write_DWORD(65536); write(L" bytes for search buffer.\n"); if (user32_hdll) { FreeLibrary(user32_hdll); } return 1; } d = search; // allow room for null terminator e = search + (65536 / sizeof(wchar_t)) - 1; wargc--; i = 0; for(;;) { if (i >= wargc) break; if (wcsicmp(wargv[i+1],L"-r") == 0) { regex = 1; } else if (wcsicmp(wargv[i+1],L"-i") == 0) { match_case = 1; } else if (wcsicmp(wargv[i+1],L"-w") == 0) { match_whole_word = 1; } else if (wcsicmp(wargv[i+1],L"-p") == 0) { match_path = 1; } else if (wcsicmp(wargv[i+1],L"-s") == 0) { sort = 1; } else if ((wcsicmp(wargv[i+1],L"-n") == 0) && (i + 1 < wargc)) { i++; num = wstring_to_int(wargv[i+1]); } else if (wargv[i+1][0] == '-') { // unknwon command help(); HeapFree(GetProcessHeap(),0,search); if (user32_hdll) { FreeLibrary(user32_hdll); } return 1; } else { // keep quotes ? q = 0; s = wargv[i+1]; while(*s) { if ((*s == ' ') || (*s == '\t') || (*s == '\r') || (*s == '\n')) { q = 1; break; } s++; } if ((d != search) && (d < e)) *d++ = ' '; if (q) { if (d < e) *d++ = '"'; } // copy append to search s = wargv[i+1]; while(*s) { if (d < e) *d++ = *s; s++; } if (q) { if (d < e) *d++ = '"'; } } i++; } // null terminate *d = 0; if (!sendquery(hwnd,num,search,regex,match_case,match_whole_word,match_path)) { // send query reports error HeapFree(GetProcessHeap(),0,search); if (user32_hdll) { FreeLibrary(user32_hdll); } return 1; } HeapFree(GetProcessHeap(),0,search); // message pumploop: // update windows if (PeekMessage(&msg,NULL,0,0,0)) { ret = (int)GetMessage(&msg,0,0,0); if (ret <= 0) goto exit; // let windows handle it. TranslateMessage(&msg); DispatchMessage(&msg); } else { WaitMessage(); } goto loop;exit: if (user32_hdll) { FreeLibrary(user32_hdll); } return 0;}static int wstring_to_int(const wchar_t *s) { const wchar_t *p; int value; p = s; value = 0; while(*p) { if (!((*p >= '0') && (*p <= '9'))) { break; } value *= 10; value += *p - '0'; p++; } return value;}
这段代码2
工作日常:
举个栗子:
再举个栗子:
总有一天,你也会变得牛逼哄哄!
- 程序员的快乐,有几个人能懂
~///(^v^)\\~. ↩ - 学习别人的好代码 ↩
0 0
- 小P第一次写博客
- 第一次写博客,小试一下
- 第一次写博客--电子小硕心路历程
- 第一次写android博客,现在还是一个小白
- 第一次写博客 还是有点小激动呢
- 第一次写博客,想想还有点小激动呢
- 第一次写博客
- 第一次写博客
- 第一次写博客
- 第一次写博客
- 第一次写博客
- 我第一次写博客
- 第一次写博客
- 第一次写博客
- 第一次写博客文章
- 我第一次写博客
- 第一次写博客
- 第一次写博客
- Sparse Graph(2016大连网赛)(hdu5876)(BFS+数据结构)
- WEB前端性能测试工具YSlow 2.0使用指南
- zzzxxzxzxzx
- java中会存在内存泄漏吗,请简单描述。
- testsuite日记
- 小P第一次写博客
- Java clone,System.arraycopy的区别
- LINUX集群--均衡负载 LVS(四) LVS持久连接
- Netty实现服务端客户端长连接通讯及心跳检测
- HDU 5876 大连网络赛 Sparse Graph
- Function(HDU5875)
- leetCode练习(2)
- threejs中坐标系转换和实现物体跟随鼠标移动
- 13章 人机猜拳游戏