03 2020 档案
摘要:疑问: 1.为何MFC中采用CreateThread创建的子线程不可以和主线程同时运行呢? 发现: 1.可以定义多个子线程,使这多个子线程同时运行.比如让他们分别显示奇数和偶数.
阅读全文
摘要:最省事儿的,就是用CString中转一下: 1 2 3 4 int i = 10; CString str; str.Format(_T("%d"),i); LPCTSTR pStr = LPCTSTR(str); 另外,_stprintf也比较方便,并自动适应字符集,但需要申请内存并做静态转换(因
阅读全文
摘要:为了表明自己是windows系统的api,和自己定义的类函数进行区分. 我个人就习惯在Windows API函数前面加::以区分自定义函数或其他的类库函数。 比如Sleep(3); 也可以写成::Sleep(3);
阅读全文
摘要:总是被编码的一些类型弄的团团转,大多数情况下是蒙的,今天对这一块做下总结. ASCII: 文本编码的基础,0x00-0x7F(0-128)的范围. ANSI: 这些使用1到4个字节来表示字符的各种延伸编码方式(比如GBK,GB2312(中国出台的)),称为ANSI编码(在简体中文Windows操作系
阅读全文
摘要:1.端的含义 端的英文意思是Endian,表示尾端的意思.根据人们的书写习惯,最右边为尾端位置. 2.大端和小端的来历 如果尾端为高地址,则认为是高尾端,即大端;反之为小端. 举个例子,有16进制的数0x11223344,我们在手写它的时候是"11223344"这种方式来的.此时44是尾端的数据,如
阅读全文
摘要:1.<> 是不等号,也有的语言可写作:# 或 != 2.事务:是一系列等待执行的操作序列,要么全部执行,要么全不执行. 3.注释: 单行:-- 多行:/* */ 4.打印: PRINT('hello') --打印字符串用单引号 PRINT(@Ret) --打印变量 5.nvarchar和varcha
阅读全文
摘要:1.听说SQL函数可以返回表,我今天就尝试了下,感觉用法还是挺顺手的. ALTER FUNCTION [dbo].[returnTable] ( @nTagID AS int ) RETURNS @tab TABLE( --自己定义要返回的一个Table类型的结构. TagId int, SAMST
阅读全文
摘要:1.Navicat运行函数输入参数时,什么都不填和填NULL是不一样的,具体可以通过Print打印,或者自己去尝试. (1)比如执行如下的语句,什么都不输入: PRINT('nChannelAddr') //注意打印字符串要用单引号. PRINT(@nChannelAddr) PRINT('sSAM
阅读全文
摘要:1.指针delete后,赋为0的原因? (1)防止再次delete它? 既然删掉了,还会再用它吗?可能有不明显的调用? (2)它是野指针,指向的是被删除的内存。 哪有怎样呢? Ans:赋为0表明它不再指向任何对象。假如不赋为0,用户有可能会误调用,访问到未知的内容.而赋为0,即使被误调用,会直接抛出
阅读全文
摘要:1.vector是在堆上还是栈上? 在堆上. 2.我们发现指针有一些“似是而非”的特征: (1)指针消亡了,并不表示它所指的内存会被自动释放。比如函数中的指针是局部变量,如果它指向了堆上,而自己出了函数后消亡了,但它所指向的内存还是存在的,导致了内存泄漏. (2)内存被释放了,并不表示指针会消亡或者
阅读全文
摘要:探索1: ME:: L, vector变量是存放在堆上还是栈上的?网上说法不一,我也没有找到权威的表述L: 堆、栈 和vector有啥关系?L: 你把它放哪里,它就在哪里ME: [分享]堆、栈的地址高低? 栈的增长方向? https://www.zhihu.com/question/36103513
阅读全文
摘要:C++中有几处概念让人容易弄混,比如指针常量,常量指针;指针函数和函数指针,这些别的随笔中有过整理。 今天看下函数指针和typedef连用的情况: typedef int* (*Fun)(int* a, int* b); 这里的Fun实际上是一个类型,该类型是一个函数指针类型,该函数指针返回值是一个
阅读全文
摘要:#include "stdio.h" typedef void (*Fun)(char *ch1, char* ch2); //函数指针类型:指向参数为(void *p, char *ch),返回值为void *的函数 //外部宿主函数 void GetCallBack(Fun fun)//这里是用
阅读全文
摘要:_T("Hello")是一个宏,他的作用是让你的程序支持Unicode编码,因为Windows使用两种字符集ANSI和UNICODE,前者就是通常使用的单字节方式,但这种方式处理象中文这样的双字节字符不方便,容易出现半个汉字的情况。而后者是双字节方式,方便处理双字节字符。 如果你编译一个程序为ANS
阅读全文
摘要:在BROWSEINFO中ulFlags中的,BIF_NEWDIALOGSTYLE表示开启文件对话框左下角的"新建文件夹"选项. 一个亲测有效的打开文件夹的例子: void CFileDialogDemoDlg::OnBnClickedButtonImport() { // TODO: Add you
阅读全文
摘要:接口类是一种特殊的抽象类. 抽象类: 类中至少含有一个纯虚函数. 抽象类的子类如果没有完全实现父类的纯虚函数,那么该子类也是一个抽象类. 接口类: 满足两个条件 (1)没有成员变量 (2)所有成员函数都为public且纯虚.
阅读全文
摘要:(1)继承 介绍: 继承表示是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力。 表示方法: 继承使用空心三角形+实线表示。 示例: 鸟类继承抽象类动物 继承关系 (2)实现 介绍: 实现表示一个class类实现interface接口(可以是多个)
阅读全文
摘要:看到项目下面有个Plugin文件夹,然后Plugin文件夹下定义了IExtensionPoint的接口类,看到网上有类似的文章. http://www.blogjava.net/yangbutao/archive/2007/09/27/148500.html
阅读全文
摘要:在学网络基础的时候听说过这个东西,今天真正用了下,发现自己一直理解的都不对. 我用点对点的思维去理解组播,闹了笑话.其实组播中的各成员的ip和port都是一样的,这样才能够保证一个人发送,别的成员都能够接收到. 组播是一种UDP(User Datagram Protocol,用户数据报协议)协议,利
阅读全文
摘要:1.流程图总结: 2. 代码: //运行起来一个Sender.exe,和多个Receiver.exe,可以看到组播的效果.//Sender.cpp也可称为服务端 #include <WINSOCK.H> #include <stdio.h> #define HELLO_PORT 7905 #defi
阅读全文
摘要:INADDRESS_ANY实际上是0.0.0.0,泛指主机的所有ip地址,当用该常量去绑定port时,会对所有网卡的对应的port进行监听.这样管理一个套接字就行了. 参考文章:https://blog.csdn.net/jeffasd/article/details/51461568
阅读全文
摘要:之前寻找dll的调用者,往往是通过从VS的属性中看有没有加载dll对应的lib,或者全局搜索"LoadLibrary()"的方法去找到调用它的地方. 一般是一个项目把dll的函数导出,另外的项目中去调用dll文件.而今天我看到了加载本项目中的dll到某个类中,通过该类(该类定义了一个GetInsta
阅读全文
摘要:1.资源: 可以通过搜索关键字; 如果关键字找不到,考虑是不是调用了外部的文件,比如exe或者dll文件。 2.函数: 如果一个函数是virtual函数,在本类中找不到,就看哪些类继承了本类,去它的子类中去寻找。
阅读全文
摘要:上图中的对话框,它上面的元素会在ThreadTestQF.rc(下图)中显示出来。其中CAPTION是窗口左上方的标题。 而IDD = IDD_THREADTESTQF_DIALOG(根据赋值表达式的特性,可知enum的元素即是IDD_THREADTESTQF_DIALOG的值)表示对话框的数据,作
阅读全文
摘要:诊断工具在调试->窗口->显示诊断工具. 报CL.exe问题,可能是IDE的问题,比如写一个最简单的hello world代码来进行检验. 可以在查找时使用正则表达式,比如想要搜索 行尾为 =1;的文本,可以 =1;\r\n shift+F5:停止调试 重装VS2010:找到解压好的cn_visua
阅读全文