4 小小妖妖

尚未进行身份认证

C/C++ coder

等级
TA的排名 1w+

MFC之IP控件(IP地址与CString的互相转化)

1.获得IP地址:CIPAddressCtrl * pIP = (CIPAddressCtrl*)GetDlgItem(IDC_IPADDRESS1);BYTE nf1, nf2, nf3, nf4;pIP->GetAddress(nf1, nf2, nf3, nf4);CString str;str.Format(_T("%d.%d.%d.%d"), nf1, nf2, nf3,...

2020-01-07 10:31:08

websocket报文格式及掩码处理方式

1、数据帧格式概览下面给出了WebSocket数据帧的统一格式。熟悉TCP/IP协议的同学对这样的图应该不陌生。从左到右,单位是比特。比如FIN、RSV1各占据1比特,opcode占据4比特。内容包括了标识、操作代码、掩码、数据、数据长度等。(下一小节会展开) 0 1 2 3 ...

2020-01-06 20:27:37

ubuntu SSLError: The read operation timed out

pip安装软件遇到了SSLError: The read operation timed out问题Exception:Traceback (most recent call last):File “/usr/lib/python2.7/dist-packages/pip/basecommand.py”, line 122, in mainstatus = self.run(options...

2020-01-04 12:23:41

TP5安装workerman版本并使用

通过Composer.exe安装相关依赖:composer require topthink/think-worker如果报错,如下:composer require topthink/think-workerUsing version ^2.0 for topthink/think-worker./composer.json has been updatedLoading ...

2020-01-03 09:42:06

js中冒号的作用

js中常用到冒号的地方有三处,分别是:A ? B : C 三元操作符;switch case语句中;对象直接量;很明显上面的问题与这三者没有关系。标签语句。在js中,任何语句都可以通过在它前面加上标志符和冒号来标记:identifier: statement,这样就可以在任何地方使用该标记,最常用于for循环中。标签语句在for循环中的作用;代码如下:label1: for...

2019-12-31 17:12:40

PHP 大小写敏感问题

首先亮明观点,PHP大小写问题,是一个很奇葩的问题,有的部分大小敏感,有的又不敏感。一、大小写敏感1. 变量名区分大小写所有变量均区分大小写,包括普通变量以及$_GET,$_POST,$_REQUEST,$_COOKIE,$_SESSION,$GLOBALS,$_SERVER,$_FILES,$_ENV2. 常量名默认区分大小写,通常都写为大写3. php.ini配置项指令区...

2019-12-17 22:57:16

PHP命名空间(Namespace)的使用详解

命名空间一个最明确的目的就是解决重名问题,PHP中不允许两个函数或者类出现相同的名字,否则会产生一个致命的错误。这种情况下只要避免命名重复就可以解决,最常见的一种做法是约定一个前缀。例:项目中有两个模块:article和message board,它们各自有一个处理用户留言的类Comment。之后我可能想要增加对所有用户留言的一些信息统计功能,比如说我想得到所有留言的数量。这时候调用它们Comm...

2019-12-12 21:59:28

MFC中使用GDI+ 显示图片

打开stdafx.h头文件,添加头文件和库。#pragma comment( lib, "gdiplus.lib" ) // VS2015使用可以去掉#include "gdiplus.h"using namespace Gdiplus;在CXXWinApp 内添加成员变量ULONG_PTR m_gdiplusToken;在CXXWinApp::InitInstance...

2019-12-11 21:40:18

Win32双缓冲绘图和位图的绘制

前言:为什么需要使用双缓冲技术?可能很多朋友会问,不知道你们有没有发现,当屏幕刷新的时候会有闪烁,这样让人的体验感极差。原因是绘图与显示器刷新不同步,有时间差,为解决这一问题,这就需要用到双缓冲技术来绘图了。双缓冲技术是相对单缓冲而言的,单缓冲就是直接在设备DC上绘图;而双缓冲就是先在一个与设备DC相兼容的内存缓冲区里进行绘图,然后再一次性复制到设备DC上。一次性在屏幕上显示就不会出现闪烁的现象...

2019-12-10 12:31:21

VC静态库的调试

VC静态库的调试背景对于动态库或者可执行程序而言,如果想要调试只要将对应的pdb文件和动态库或者可执行文件放在一起即可自动加载符号。众所周知静态库在最终链接的时候是把代码直接链接到最终的生成文件里的。这就决定了不可能把静态库的pdb文件和生成文件放在一起来调试。所以我们想要调试静态库,肯定需要一些特殊的操作。那么,对于静态库调试,具体该怎么做呢?静态库的pdb文件首先我们确定一件事,静...

2019-12-08 18:44:29

_USRDLL _AFXDLL _WINDLL 三种dll编译宏的具体含义

常见的编译参数VC建立项目时总会定义"Win32"。控制台程序会定义"_CONSOLE",否则会定义"_WINDOWS"。Debug版定义"_DEBUG",Release版定义"NDEBUG"  与MFC DLL有关的编译常数包括:  _WINDLL 表示要做一个用到MFC的DLL  _USRDLL 表示做一个用户DLL(相对MFC扩展DLL而言,静态)  _AFXDLL 表示使用MFC动...

2019-12-05 13:52:07

多线程MT和多线程MD的区别

区别1:全局堆句柄不一样。网上有一个说法,就是一个线程一个栈,一个模块一个堆。前者很容易有理解,每个线程创建的时候在CreateThread中都能制定默认栈大小,只是很多情况下都取了默认值。而一个模块一个堆呢?其实很简单测试,如果是一个多线程MT编译方式的程序,你写一个dll,导出一个函数,参数设置为vector,然后在exe中调用,当导出函数结束时就会崩溃掉。其实原因很简单,就是因为初始化向量...

2019-12-05 13:46:49

静态/共享的规则MFC DLL/MFC扩展DLL详解

在编写MFC程序的时候,通常需要编写dll库以供其他程序调用。关于MFC dll的相关知识很多很杂,这里特酷吧结合自己学习中遇到的问题专门整理了一些MFC dll的基础知识。本部分共上下两篇文章,本文为上篇,MFC DLL应用程序类型分为以下三种:(1)使用共享MFC DLL的规则DLL(2)带静态链接MFC的规则DLL(3)MFC扩展DLL下面重点解释一下这些DLL的含义区别:一,规则...

2019-11-29 15:50:35

C++ AFX_MANAGE_STATE(AfxGetStaticModuleState())的作用

AFX_MANAGE_STATE(AfxGetStaticModuleState())的作用:用于模块切换时的状态保护,AfxGetStaticModuleState()指向当前模块状态;当前函数调用结束后原模块的状态自动被恢复;用于DLL中所调用MFC函数、类、资源时的模块状态切换;[ MSDN ]By default, MFC uses the resource handle o...

2019-11-27 11:22:49

MFC OnChar、OnKeyDown、OnKeyUp和PreTranslateMessage的关系

OnKeyDown是所有键盘按下去都会触发,OnChar紧紧是可见字符的按键。假设按下键盘上的任意一个键,则OnChar、OnKeyDown、OnKeyUp均会被调用。它们被调用的先后顺序为:1、OnKeyDown2、OnChar3、OnKeyUp在对话框应用程序中,无论用户是否操作鼠标或键盘,PreTranslateMessage函数始终不断地被调用。MSDN中关于PreTransla...

2019-11-22 11:22:49

VS2015类向导“异常来自 HRESULT:0x8CE0000B”错误解决方法

关闭项目在工程目录找到.vc.db文件删除

2019-11-21 15:17:37

在VS中添加lib库的三种方法

方法1: 通过设置工程配置来添加lib库.A、添加工程的头文件目录:工程—属性—配置属性—c/c+±–常规—附加包含目录:加上头文件存放目录。B、添加文件引用的lib静态库路径:工程—属性—配置属性—链接器—常规—附加库目录:加上lib文件存放目录。C 然后添加工程引用的lib文件名:工程—属性—配置属性—链接器—输入—附加依赖项:加上lib文件名。这种方法比较繁琐,且不直观,而且还可...

2019-11-14 12:36:44

CEAA自动汇编脚本常用命令

LABEL(标签名):让标签名可以被当作一个地址使用。ALLOC(分配的内存标签名, 字节数):使用方式同LABEL,同时分配内存,指向被分配的内存地址。ALLOC(分配的内存标签名, 字节数, 优先考虑的内存区域):同上。DEALLOC(分配的内存标签名):释放使用ALLOC分配的内存空间。不管DEALLOC被放在脚本的什么地方,它永远是最后才被运行,且只在所有脚本分配的空间都被释放的时候...

2019-11-12 16:06:37

PIC之拉电流和灌电流

拉电流和灌电流是衡量电路输出驱动能力(注意:拉、灌都是对输出端而言的,所以是驱动能力)的参数,这种说法一般用在数字电路中。  由于数字电路的输出只有高、低(0,1)两种电平值,高电平输出时,一般是输出端对负载提供电流,其提供电流的数值叫“拉电流”;低电平输出时,一般是输出端要吸收负载的电流,其吸收电流的数值叫“灌(入)电流”。...

2019-11-12 10:15:24

CHARRANGE 结构

CHARRANGE Structure该结构指定位于富编辑器内的字符范围。如果cpMin和cpMax成员相等,范围是空。如果cpMin是0且cpMax是-1,则该范围包含所有内容。语法typedef struct _charrange {LONG cpMin;LONG cpMax;} CHARRANGE;成员cpMinLONG所选范围的第一个字符的前一个位置。cpMax...

2019-11-10 17:06:30

查看更多

勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 新人勋章
    新人勋章
    用户发布第一条Blink获赞超过3个即可获得
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv3
    勤写标兵Lv3
    授予每个自然周发布7篇到8篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。