
C、C++
文章平均质量分 54
LG_Ting
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
动态库Dll的宏定义头文件双向使用方法小结
动态库Dll的宏定义头文件双向使用方法小结 这里需要提到的一点的是,在显示调用的情况下,才需要这种头文件,隐式调用的情况下,其实这些东西有的不必写,请有基础的同学自己思考. 如果想在自己的DLL文件中使用函数修改定义宏,又想同时在提供给客户端的头文件中让客户使用,有两种方法比较方便,当然如果你直接自己 定义也未为不可,但比较费事。当然,同时你得在DEF文件中声明导出函数,防止函数原创 2017-02-19 20:19:44 · 3599 阅读 · 1 评论 -
唯一实例。
多次相当于New对象、结果只返回相同一段空间位置。并且内部提供计数、以便于最后一次判断释放。 感悟就是,编程。要清楚自己写的是什么,包括内部实现过程机制原理。 OnlyObject.h // ////////////////////////////////////////////////////////////////////// #if !defined原创 2016-09-18 15:21:38 · 475 阅读 · 0 评论 -
C设计模式,C++设计模式解说文档.
个人引用了知乎上面一位匿名用户的回答: 学习设计模式的一个弊端是: 我们学习的时候看到的只是结果,并不了解过程和动机,也就是其他人在什么样的情况下做出这样的设计,而这个恰恰是各种教程、资料上学习不到的。 我自己在经历了2年的应用设计模式的摸索,看了5本左右关于设计模式的书之后还是没有找到心得,遂放弃。 通过分析自己的代码,给自己制定了类代码行数不超过400,函数行数不超过20,嵌套不超过3原创 2017-04-29 08:44:32 · 387 阅读 · 0 评论 -
枚举当前所有进程并获取当前登陆qq的号码
写在前言: 1.枚举进程实际上就是利用进程快照,和两个函数进行枚举当期存在的进程. 获取qq号,依照源码进行个人猜测得到. QQ为每个用户建立的db文件,应用程序会将这个文件载入到进程中,依照信息和相关文件路劲进行偏移字符串得到马赛克部分qq号信息,,关于其相关进程信息机制暂时没有想要去深入,以上言论也纯属揣测,暂时存档供后面研究,当前重心会放原创 2017-05-22 19:28:49 · 934 阅读 · 0 评论 -
Unicode 和 UTF-8 有何区别?
作者:邱昊宇 链接:https://www.zhihu.com/question/23374078/answer/24385963 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 简单来说: Unicode 是「字符集」UTF-8 是「编码规则」 其中: 字符集:为每一个「字符」分配一个唯一的 ID(学名为码位 / 码点 / Code P转载 2017-08-10 11:15:06 · 261 阅读 · 0 评论 -
c++类的构造函数详解
http://ticktick.blog.51cto.com/823160/194307 c++构造函数的知识在各种c++教材上已有介绍,不过初学者往往不太注意观察和总结其中各种构造函数的特点和用法,故在此我根据自己的c++编程经验总结了一下c++中各种构造函数的特点,并附上例子,希望对初学者有所帮助。转载 2017-10-10 11:03:04 · 425 阅读 · 0 评论 -
Windows Socket五种I/O模型——代码全攻略
Winsock 的I/O操作: 1、两种I/O模式 阻塞模式:执行I/O操作完成前会一直进行等待,不会将控制权交给程序。套接字 默认为阻塞模式。可以通过多线程技术进行处理。 非阻塞模式:执行I/O操作时,Winsock函数会返回并交出控制权。这种模式使用 起来比较复杂,因为函数在没有运行完成就进行返回,会不断地返回 WSAEWOULDBLOCK错误。但功能强大。 为了解决这个问题转载 2017-10-21 00:02:58 · 337 阅读 · 0 评论 -
<C++略识>之多重继承、多继承、虚继承的概念.
问题:什么是多重继承? 定义三个类:人、士兵、步兵,则有:步兵->士兵->人,这样的关系称之为多重继承,写法如下: class Person { }; class Soldier:public Person { }; class Infrantryman:public Soldier { };123456789 问题:什么是多继承? 定义三个类:农民、工人、农民工,则有:农民工->转载 2017-10-22 22:29:18 · 237 阅读 · 0 评论 -
线程通信方式同步方式和进程间通信方式.
1、线程间的通信方式 使用全局变量 主要由于多个线程可能更改全局变量,因此全局变量最好声明为volatile使用消息实现通信 在Windows程序设计中,每一个线程都可以拥有自己的消息队列(UI线程默认自带消息队列和消息循环,工作线程需要手动实现消息循环),因此可以采用消息进行线程间通信sendMessage,postMessage。 1)定义消息#define WM_THREAD_S转载 2017-10-15 14:07:25 · 352 阅读 · 0 评论 -
printf重定向<达到向向服务器写日志效果>
最近我们有一个需求,要求将windows控制台程序中通过printf打印的字符串信息全部重定向到另一个远程控制终端上去;并且也将标准输入也重定向到远程终端。重定向信息的传输用TCP传输。解决 这个问题,其实就是要求能够截获printf的字符数据,使其不在控制台上打印,而是通过socket传到 远程终端后打印。并且将标准输入重定向到一个socket上,从上面阻塞收数据作为标准输入。 解决过程:转载 2017-11-09 17:32:51 · 1460 阅读 · 0 评论 -
C++操作注册表实现开机自启动程序
//能读懂并运用这段代码就行了.具体一些参数细节由图进行解释,很快就明白了,备注:关于win8下读写注册表需要相关权限.自行科普. int test() { LPCTSTR lpSubKey = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run"; HKEY hKey; REG原创 2017-03-14 20:13:40 · 2651 阅读 · 0 评论 -
windows核心编程--内核对象和句柄泄漏
总的来说,不关闭内核对象句柄、会占用系统资源,运行变缓。 1. 什么是内核对象? 内核对象是操作系统分配的一个内存块,该内存块是一个数据结构,用于管理对象的各种信息。 当应用程序要与系统设备进行交互的时候,将使用到内核对象,出于安全的考虑,进程是不能直接访问内核对象的,操作系统提供了对应的函数来对它们进行访问。 存取符号对象、事件对象、文件对象转载 2016-09-28 00:10:37 · 634 阅读 · 0 评论 -
命名管道
实际上都是一种相关通信概念而已,了解并掌握相关操作步骤和流程即可. 注意点: 1.管道是一种半双工概念的,如若想读写互补干扰,最好创建两个管道.(想想管道与自来水间的关系) 2.区别命名管道和匿名管道的区别,匿名管道是能用于存在福进程,也就是具有继承关系的继承来通信,命名管道可以用于网络,也可以用于主机内部进程间通信. 服务器端:创建命名管道 ,等待连接 ,通过readfile/write原创 2017-02-10 21:09:39 · 566 阅读 · 0 评论 -
C++编写使用静态库
虽然为冷门切不常用知识,并且增大软件体积,但总是和动态库作为一个比较.遂文档简记一下,不至于纠结.原创 2017-02-20 19:55:49 · 530 阅读 · 0 评论 -
回调函数与钩子。
什么是回调函数? 简而言之,回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。 为什么要使用回调函数? 因为可以把调用者与被调用者分开。调用者不关心谁是被调用者,所有它需知道的,只是存在一个具有某种特定原型、某些限制条件(如返回值为 int )的被调用函数。转载 2016-09-18 15:38:10 · 318 阅读 · 0 评论 -
C++异常处理机制
分类概况: 1.CPP异常 2.MFC异常 3.类的异常 4.类的异常加强 1.CPP异常: #include #include using namespace std; //标识错误的类型 class wrong { public: wrong() { a = 10; b = 20; };原创 2017-04-28 20:00:23 · 318 阅读 · 0 评论 -
收藏的数据结构工程
工程下载地址:http://download.youkuaiyun.com/detail/qq_24571549/9828977原创 2017-04-29 09:13:58 · 291 阅读 · 0 评论 -
OOP思想之虚函数表分析.
设计知识点: 指针类型强制转换(挑战你的脑回路) 虚函数表 #include using namespace std; //m g f j goh //总共有七个,不重复有留个. /* 依照逻辑来看(仅仅)B对象虚函数表构成. g f j m g o h */ class H { virtual void M() { c原创 2017-04-24 11:20:08 · 349 阅读 · 0 评论 -
利用GetPrivateProfileString读取配置文件(.ini)
配置文件中经常用到ini文件,在VC中其函数分别为: 写入.ini文件:bool WritePrivateProfileString(LPCTSTR lpAppName,LPCTSTR lpKeyName,LPCTSTR lpString,LPCTSTR lpFileName); 读取.ini文件:DWORD GetPrivateProfileString(LPCTSTR lpAp转载 2017-05-27 15:27:30 · 688 阅读 · 0 评论 -
weak_ptr解决环形引用
// ConsoleApplication10.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include "ConsoleApplication10.h" #include <iostream> #include <memory> using namespace std; class B; class A { public...原创 2019-06-13 11:36:13 · 944 阅读 · 0 评论