摘要: {{MARKDOWN}} # systemd IN_SET宏展开分析## IN_SET宏的定义```#define IN_SET(x, ...) \ ({ \ bool _found = false; \ /* If the build breaks in the line below, you n 阅读全文
posted @ 2021-02-22 16:34 荷包蛋 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 1、gdb中无法直接打印出QString的原始字符串,可以通过自定义gdb函数方式打印出来,网上能搜出来的都已经过时了,不适应最新的QString内存结构,这里提供一个最新的(for Qt5): define pqs printf "(QString)0x%x (length=%i, offset= 阅读全文
posted @ 2021-02-20 17:41 荷包蛋 阅读(1196) 评论(0) 推荐(0) 编辑
摘要: 线程安全与重入1、定义 网上现有的资料,对于函数线程安全与可重入的概念,各种解释都有,但感觉都有偏差。我感觉函数线程安全与函数的可重入是两个有点相似但又不相关的概念,根据实际使用经验,我给出两者定义(可能定义不对,请大佬斧正): 可重入函数: 函数未执行完时再次调用自己,比如递归,模态打开窗口,QD 阅读全文
posted @ 2021-02-20 10:32 荷包蛋 阅读(323) 评论(0) 推荐(0) 编辑
摘要: eclipse安装插件:jre跟eclipse的bit数必须匹配,即必须都是32or64位的 历史版本不好找,pydev的历史版本在sourceforge中很隐蔽,得在项目的activite中查找,另外百度中完全找不到,在google中找得到jp的链接,可云下载插件版本要求的jre版本的版本没安装时 阅读全文
posted @ 2016-02-04 16:27 荷包蛋 阅读(358) 评论(1) 推荐(0) 编辑
摘要: 前段时间专心面过腾讯,经过了N轮的技术面,结果还是挂了,但没挂在技术面,比较欣慰,回来之后写一点总结,以供有梦想进入腾讯做后台服务器开发的同学参考,本文章为胡成精心总结,胡成原创,copy和转载请通知。ps:()之内的文字由作者点评,非面试题文字。linux和os:netstat tcpdump i... 阅读全文
posted @ 2015-05-01 22:18 荷包蛋 阅读(3226) 评论(0) 推荐(2) 编辑
摘要: if(NULL != pIHTMLDocument2) { IHTMLWindow2* pIHTMLWindow2 = NULL; hr = pIHTMLDocument2->get_parentWindow(&pIHTMLWindow2); if((S_OK == hr) && (NULL != pIHTMLWindow2)) { IServiceProvider* pISP = NULL; hr = pIHTMLWindow2->QueryInterface(IID_IService... 阅读全文
posted @ 2014-04-04 16:54 荷包蛋 阅读(610) 评论(0) 推荐(0) 编辑
摘要: void CAssistDlg::OnBnClickedTest(){ HDC hdc = ::GetDC(NULL); HDC hdcMem = CreateCompatibleDC(hdc); HBITMAP hBmpMem = CreateCompatibleBitmap(hdc, 234, 234); HBITMAP hBmpOld = (HBITMAP)SelectObject(hdcMem, hBmpMem); BitBlt(hdcMem, 0, 0, 234, 234, hdc, 127, 518, SRCCOPY); { HDC... 阅读全文
posted @ 2013-06-18 12:11 荷包蛋 阅读(751) 评论(0) 推荐(0) 编辑
摘要: --------------------------------------------------------------------------------//afxtls_.h--------------------------------------------------------------------------------CThreadLocal模板类,这个类很特别,没有数据成员,需要模板参数类型的数据时,都是new出来的------------------------------------------------------------------------------ 阅读全文
posted @ 2012-10-29 18:15 荷包蛋 阅读(845) 评论(0) 推荐(0) 编辑
摘要: //---------------------------------------------------赖加载:只需要接口ID,不需要CLSID;抛扩展:实现解耦;属性化:大型C++工程必备,但必须注意enum,export;弱COM: COM保密必须;DCOM通讯:平台控制进程实例个数及对多进程... 阅读全文
posted @ 2012-07-18 14:28 荷包蛋 阅读(213) 评论(0) 推荐(0) 编辑
摘要: ==================================================================MFC的DLL/EXE中无法使用属性化COM/ATL,原因在于属性化要求有module属性,否则编译不过,而如果有module属性的话,这个属性在编译时会自动生成Dll... 阅读全文
posted @ 2012-06-20 13:07 荷包蛋 阅读(738) 评论(0) 推荐(0) 编辑
摘要: //==============================================================================要不要从IUnknown接口派生?1 是否要使用GetService,是则要从IUnkown接口派生, 否则往下看:2 是否为回调,不是回调... 阅读全文
posted @ 2012-06-16 15:58 荷包蛋 阅读(425) 评论(0) 推荐(0) 编辑
摘要: 在单文档中的使用方法步骤一 初始化在CView类的.h头文件中包含文件:#include "Gridctrl.h"并且手写加入如下的成员函数:CGridCtrl * m_pGridCtrl;步骤二 构造与析构构造函数中:m_pGridCtrl = NULL;析构函数中:if(m_pGridCtrl)delete m_pGridCtrl;步骤三 如果需要打印功能的话添加同名打印函数代码在CView类的OnBeginPrinting()函数中添加如下代码:if(m_pGridCtrl)m_pGridCtrl->OnBeginPrinting(pDC,pInfo);//简单 阅读全文
posted @ 2012-05-01 23:45 荷包蛋 阅读(10803) 评论(0) 推荐(0) 编辑
摘要: MD5的算法描述:第一步:增加填充增加padding使得数据长度(bit为单位)模512为448。如果数据长度正好是模512为448,增加512个填充bit,也就是说填充的个数为1-512。第一个bit为1,其余全部为0。第二步:补足长度将数据长度转换为64bit的数值,如果长度超过64bit所能表示的数据长度的范围,值保留最后64bit,增加到前面填充的数据后面,使得最后的数据为512bit的整数倍。也就是32bit的16倍的整数倍。在RFC1321中,32bit称为一个word。第三步:初始化变量:用到4个变量,分别为A、B、C、D,均为32bit长。初始化为:A: 01 23 45 67 阅读全文
posted @ 2012-05-01 23:42 荷包蛋 阅读(2911) 评论(0) 推荐(0) 编辑
摘要: 以下未经说明,listctrl默认view 风格为report1.CListCtrl 风格LVS_ICON: 为每个item显示大图标 LVS_SMALLICON: 为每个item显示小图标 LVS_LIST: 显示一列带有小图标的item LVS_REPORT: 显示item详细资料 直观的理解:windows资源管理器,“查看”标签下的“大图标,小图标,列表,详细资料”2.设置listctrl 风格及扩展风格LONG lStyle;lStyle = GetWindowLong(m_list.m_hWnd, GWL_STYLE);//获取当前窗口style lStyle &= ~LV 阅读全文
posted @ 2012-05-01 23:24 荷包蛋 阅读(237) 评论(0) 推荐(0) 编辑
摘要: 一般的,在介绍Windows编程的书中讲述DLL的有关知识较多,而介绍MFC的书则比较少地提到。即使使用MFC来编写动态链接库,对于初步接触DLL的程序员来说,了解DLL的背景知识是必要的。另外,MFC提供了新的手段来帮助编写DLL程序。所以,本节先简洁的介绍有关概念。DLL的背景知识静态链接和动态链接当前链接的目标代码(.obj)如果引用了一个函数却没有定义它,链接程序可能通过两种途径来解决这种从外部对该函数的引用:静态链接链接程序搜索一个或者多个库文件(标准库.lib),直到在某个库中找到了含有所引用函数的对象模块,然后链接程序把这个对象模块拷贝到结果可执行文件(.exe)中。链接程序维护 阅读全文
posted @ 2012-05-01 23:17 荷包蛋 阅读(345) 评论(0) 推荐(0) 编辑
摘要: 在winpcap3.1beta4的文档中有个获取设备列表的例子程序其中使用到了pcap_findalldevs_ex()函数,在文档中是这样介绍这个函数的:This function is a superset of the old 'pcap_findalldevs()', which is obsolete, and which allows listing only the devices ... 阅读全文
posted @ 2009-10-17 20:41 荷包蛋 阅读(12059) 评论(1) 推荐(0) 编辑
摘要: ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>... 阅读全文
posted @ 2009-10-17 20:28 荷包蛋 阅读(684) 评论(0) 推荐(0) 编辑
摘要: C 语言从 C94 引入多语言支持以后处理中文方便多了。即使不用 wchar_t 也可以获得很多好处,比如增加了 strcoll 这个根据 locale 比较字符串的函数。简单地说,一个 locale 就是一组处理跟语言相关问题的规则,这里有一篇简介。这些规则就包括如何对字符串进行比较和排序。按照 C94 及 C99 标准的规定,程序在启动时设置 locale 为 "C"。在 "C" locale... 阅读全文
posted @ 2009-10-17 20:26 荷包蛋 阅读(2855) 评论(0) 推荐(0) 编辑
摘要: 很多人都觉得自己的程序的界面不那么美观,往往VC默认产生的对话框比较单调,因此很多人往往找到很多其它的控件对对话框进行美化修饰,例如给静态控件设置字体,设置背景颜色等等, 其实这些完全可以由VC自己的WM_CTLCOLOR消息来完成! WM_CTLCOLOR消息用来完成对EDIT、STATIC、BUTTON等控件设置背景和字体颜色,其用法如下:1.首先在自己需要设置界面的对话框上点击右键-->... 阅读全文
posted @ 2009-10-17 20:24 荷包蛋 阅读(1413) 评论(0) 推荐(0) 编辑
摘要: 关于对话框中要处理的控件的ID是IDC_MYSTATIC // “关于”框的消息处理程序。 LRESULT CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) { static HFONT hfont_static; // 自定义字体的句柄 static H... 阅读全文
posted @ 2009-10-17 20:21 荷包蛋 阅读(6073) 评论(0) 推荐(0) 编辑
摘要: 为了支持Unicode编码,需要多字节与宽字节之间的相互转换。这两个系统函数在使用时需要指定代码页,在实际应用过程中遇到乱码问题,然后重新阅读《Windows核心编程》,总结出正确的用法。WideCharToMultiByte的代码页用来标记与新转换的字符串相关的代码页。MultiByteToWideChar的代码页用来标记与一个多字节字符串相关的代码页。常用的代码页由CP_ACP和CP_UTF8... 阅读全文
posted @ 2009-10-17 20:21 荷包蛋 阅读(90734) 评论(5) 推荐(7) 编辑
摘要: richedit是指 richedit 控件 cricheditctrl是 richedit类 richedit20a是richedit的升级,因为老版本的richedit 有种种bug,如 半个汉字之类的问题,微软已经在richedit2.o中解决了问题.要在程序中使用richedit2.0 ,可以按照一下步骤实施: 1 对话框中放置一个custom 控件 更改类名属性(clas... 阅读全文
posted @ 2009-10-17 20:17 荷包蛋 阅读(661) 评论(0) 推荐(0) 编辑
摘要: 在Visual C++中,MFC(微软基础类库)提供了CFile和CStdioFile两个类来进行程序中的文件输入输出操作。Cfile类提供了基于二进制流的文件操作,功能类似于C语言中的fread()和fwrite()函数。CStdioFile提供了基于字符串流的文件操作,功能类似于C语言中的fgets()和fputs()函数。但是,使用这两个类进行文件操作时 ,对于一次文件读写的数据量的大小必须... 阅读全文
posted @ 2009-10-17 19:57 荷包蛋 阅读(575) 评论(0) 推荐(0) 编辑
摘要: MFC类中获得其它类指针成都:苏颖锋(vcmfc输入并转贴) 当用VC++的Application Wizard生成除了CDialog Basiced以外的应用程序时,将自动产生视图类、文档类、主帧窗口类、应用程序类等等。一般来说,程序的核心数据及操作在文档类中实现。跟界面有关的数据及操作在视图类中实现。当需要在某个类中使用不属于该类的数据时,必须要取得该数据所属类的指针。从视图类获得文档类的指针... 阅读全文
posted @ 2009-10-17 19:56 荷包蛋 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 一、ADO概述ADO是Microsoft为最新和最强大的数据访问范例 OLE DB 而设计的,是一个便于使用的应用程序层接口。ADO 使您能够编写应用程序以通过 OLE. DB 提供者访问和操作数据库服务器中的数据。ADO 最主要的优点是易于使用、速度快、内存支出少和磁盘遗迹小。ADO 在关键的应用方案中使用最少的网络流量,并且在前端和数据源之间使用最少的层数,所有这些都是为了提供轻量、高性能的接... 阅读全文
posted @ 2009-10-17 19:46 荷包蛋 阅读(310) 评论(0) 推荐(0) 编辑
摘要: 作中我们经常会遇到要建立多个线程,以此方便于我们可以同时执行多个事件。这也是我们在VC开发中的一项基础,虽然我曾多次用到,但也会常常忘记。这次记下来,作为一个笔记,为大家学习提供方便。 在VC中,无非是创建线程和写线程函数 一、常规方法:纯使用Platform SDKAPI.1,创建线程: #include<windows.h> 在MFC中通常在OnInitDialog()下面创建线程... 阅读全文
posted @ 2009-10-17 19:44 荷包蛋 阅读(4309) 评论(0) 推荐(0) 编辑
摘要: C 风格(C-style)强制转型如下:(T) exdivssion // cast exdivssion to be of type T函数风格(Function-style)强制转型使用这样的语法:T(exdivssion) // cast exdivssion to be of type T这两种形式之间没有本质上的不同,它纯粹就是一个把括号放在哪的问题。我把这两种形式称为旧风格(old-s... 阅读全文
posted @ 2009-10-17 19:42 荷包蛋 阅读(327) 评论(0) 推荐(0) 编辑
摘要: //此程序演示运行时改变指令代码 //实质是C++实现多态的THUNK技术思想的简陋模拟 //在VC6.0中编译通过。 #include<windows.h> #include<iostream.h> typedefvoid(*pFUN)();//函数类型 #pragmapack(push,1)//强制编译器,使数据按字节边界对齐。 //默认情况下VC6.0是按4字节对齐... 阅读全文
posted @ 2009-10-17 19:27 荷包蛋 阅读(3384) 评论(0) 推荐(0) 编辑
摘要: 1. 使用_access函数,函数原型为 int _access( const char *path, int mode );2. 使用CreateFile函数,函数原型为: HANDLE CreateFile( LPCTSTR lpFileName, // pointer to name of the file DWORD dwDesiredAccess, // access (read-wri... 阅读全文
posted @ 2009-10-17 19:25 荷包蛋 阅读(9688) 评论(0) 推荐(0) 编辑
摘要: 首先说明一下现在常用的一些编码方案:  1、在中国,大陆最常用的就是GBK18030编码,除此之外还有GBK,GB2312,这几个编码的关系是这样的。最早制定的汉字编码是GB2312,包括6763个汉字和682个其它符号95年重新修订了编码,命名GBK1.0,共收录了21886个符号。之后又推出了GBK18030编码,共收录了27484个汉字,同时还收录了藏文、蒙文、维吾尔文等主要的少数民族文字,... 阅读全文
posted @ 2009-10-17 19:21 荷包蛋 阅读(361) 评论(0) 推荐(0) 编辑
摘要: DLL是仅包含资源(如图标、位图、字符串和对话框)的DLL。使用纯资源DLL是在多个程序之间共享同一组资源的好方法。提供其资源被针对多种语言进行本地化的应用程序也是一种好方法。若要创建纯资源DLL,请创建一个新的Win32DLL(非MFC)项目,并将资源添加到此项目。在“新建项目”对话框中选择“Win32项目”,并在“Win32项目向导&... 阅读全文
posted @ 2009-10-17 19:20 荷包蛋 阅读(1374) 评论(0) 推荐(0) 编辑
摘要: DWORDCRC32(BYTE*ptr,DWORDSize) { DWORDcrcTable[256],crcTmp1;//动态生成CRC-32表for(inti=0;i<256;i++){crcTmp1=i;for(intj=8;j>0;j--){if(crcTmp1&1)crcTmp1=(crcTmp1>>1)^0xEDB88320L;elsecrcTmp1&g... 阅读全文
posted @ 2009-10-17 19:19 荷包蛋 阅读(1954) 评论(0) 推荐(0) 编辑
摘要: 普通打印(整页打) 打印网页内部分内容(自定义) 打印去掉/添加页眉页脚 使用外部控件/方法实现多功能打印 打印背景以上为代码控制设置“页面设置”实现打印参数设置(Window系统图文版)一、普通打印(整页打)这个不用多说,直接用引用:window.print(); 二、打印网页内部分内容(自定义)分三种方法实现1、用css控制引用:@media print.a {disp... 阅读全文
posted @ 2009-10-13 00:56 荷包蛋 阅读(17241) 评论(3) 推荐(2) 编辑
摘要: 本文将介绍软件加密锁的一些编程技巧,以及软件开发者将如何编写安全可靠的代码,如何对付各种各样的加密狗破解,编写加密程序时应该尽量避免的一些问题等等。以下是全文。 http://hi.baidu.com/glistenliu/blog/item/32a1ee4a65afb92509f7eff2.html   一、加密狗加密的基本原理  开发商程序通过调用硬件加密狗的接口模块对硬件加密狗操作,硬件加密... 阅读全文
posted @ 2009-10-12 23:29 荷包蛋 阅读(1253) 评论(0) 推荐(0) 编辑
摘要: 方法一,使用ConvertBSTRToString。例如: #include #pragma comment(lib, "comsupp.lib") int _tmain(int argc, _TCHAR* argv[]){ BSTR bstrText = ::SysAllocString(L"Test"); char* lpszText2 = _com_util::ConvertBSTRToSt... 阅读全文
posted @ 2009-05-21 09:51 荷包蛋 阅读(16848) 评论(0) 推荐(1) 编辑
摘要: VB的字符串数组是由BSTR组成的SafeArray类型,所以VB里DLL函数如此声明: Private Declare FunctionMyFun Lib "MyDll" (ByVal strarr As Variant) As Long 建立MFC DLL工程,名为 ShowVBStrArr 编译生成 ShowVBStrArr.DLL DLL函数原形: extern "C" BOOL __st... 阅读全文
posted @ 2009-05-04 11:13 荷包蛋 阅读(2948) 评论(0) 推荐(0) 编辑
摘要: 全局共享数据 #pragma data_seg ("shareddata") HWND sharedwnd=NULL;//共享数据 #pragma data_seg() 编译选项加入 /SECTION:shareddata,rws ============================ 用pragma设... 阅读全文
posted @ 2009-02-24 17:16 荷包蛋 阅读(6892) 评论(0) 推荐(0) 编辑
摘要: 因为偶尔会遇到对那些不能支持双开的程序进行多开。。 根据前一阵转的一篇文件了解到,现在大多程序都用CreateMutex方式来限制多开, 于是有个想法:它Create了,我Release它,然后不就可以多开了吗? 然而。。。经过一些小程序的验证及网上的搜索,我失败了。 原因是:对于一个Mutex来说,只有Create它的进程才可以Release它。所以想用这种方式是不可能了。 不过并不是没有收获,... 阅读全文
posted @ 2009-02-21 16:23 荷包蛋 阅读(9967) 评论(0) 推荐(1) 编辑
摘要: 1、運行InstallShield 11.5,點擊“Create a new Project”創建一個新的項目,這時彈出一對話框“New Project”,我們選擇“InstallScript”->“Visual Basic 6.0 Wizard”,接著輸入我們的“Project Name”以及需要將項目存儲的磁盤空間物理位置“Location”,點擊“OK”; 2、接下來開始“Visual Ba... 阅读全文
posted @ 2008-12-26 11:28 荷包蛋 阅读(673) 评论(0) 推荐(0) 编辑
摘要: 1.对于字符串,如果是LPCTSTR ,就用byval !否则只可能是CString,这种类型VB无法处理!另外,VC中也没有string类型 2.对于VB系统有定义的类型[in],如果API中是指针就用?如IStream* stream,ByVal stream As IUnknown 3.对于VB系统有定义的类型,如Stream\ Image [in],如果API中不是指针, 4.对于VB... 阅读全文
posted @ 2008-12-17 15:56 荷包蛋 阅读(2858) 评论(0) 推荐(0) 编辑