- 博客(30)
- 资源 (2)
- 收藏
- 关注
原创 C++编译问题汇总
无法打开“xxx.h”:No such file or directory分析方法:检查文件是否存在,文件名称是否正确 检查引用目录是否正确 检查头文件的条件编译“xxx”:类型重定义分析方法:检查是否头文件重复包含 检查头文件是否加入条件编译 全局变量 头文件中是否有函数实现解决方法:改名前置声明命名空间预处理宏“xxx”:不能实例化抽象类分析方法:检查基类纯虚函数、子类是否全部实现无法识别的外部符号分析方法:检查是否引用了导入库或.
2021-08-29 21:09:34 366
转载 ADSI接口获取AD域服务器账户列表[VC++]
#include "stdafx.h" #include <Iads.h>#include <Adshlp.h>#include <activeds.h>#include <adserr.h>#include <comutil.h>#pragma comment(lib,"Activeds.lib")#pragma
2019-02-15 17:00:29 517
转载 ADSI接口获取AD域服务器账户列表[VC++]
ADSI接口获取AD域服务器账户列表[VC++]#include “stdafx.h”#include <Iads.h>#include <Adshlp.h>#include <activeds.h>#include <adserr.h>#include <comutil.h>#pragma comment(lib,“Act...
2019-02-15 16:58:03 743
转载 WebSocket协议解析
WebSocket协议解析一、协议简介WebSocket protocol 是HTML5一种新的协议,它是实现了浏览器与服务器全双工通信,本文主要介绍WebSocket协议格式。WebSocket通信过程分为两步:握手请求和数据传输。二、握手请求1、客户端在连接请求时候发送的内容GET / HTTP/1.1Connection:UpgradeHo
2017-02-28 19:43:48 1009
转载 WebSocket的C++服务器端实现
WebSocket的C++服务器端实现 由于需要在项目中增加Websocket协议,与客户端进行通信,不想使用开源的库,比如WebSocketPP,就自己根据WebSocket协议实现一套函数,完全使用C++实现。代码已经实现,放在个人github上面,地址:https://github.com/jice1001/websocket.git。下面进行解释说明:一、原理
2017-02-28 19:42:29 5212
转载 调节系统音量VC++(适合win和xp系统) 打开静音 增减和减小系统音量
#include #include #include #pragma comment(lib, "winmm.lib") 以下程序为:如果系统处于静音状态 则打开系统音量://Windows 系统音量设置 IMMDevice *device = NULL; HRESULT hr = CoInitialize(NULL); if (FAILED(hr))
2016-05-16 10:40:50 714
转载 MFC获取窗口大小
1、获取屏幕分辨率//下边两个函数获取的是显示屏幕的大小,但不包括任务栏等区域int cx = GetSystemMetrics(SM_CXFULLSCREEN);int cy = GetSystemMetrics(SM_CYFULLSCREEN);//下边这两个函数获取的是真正屏幕的大小:屏幕分辨率int nWidth=GetSystemMetrics(SM_CXSCREEN);
2015-11-23 11:03:45 11034 1
原创 String字符串截取函数的改造
例如 : 字符串 str=“1,2,3,4,6”stringSplit(num,str,“,”);num数组中:截取后结果 1 2 3 4 6// StringSplitMy.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include "stdio.h"#include "fstream"#include "i
2015-11-18 10:33:22 557
转载 dll文件详解
比较大的应用程序都由很多模块组成,这些模块分别完成相对独立的功能,它们彼此协作来完成整个软件系统的工作。可能存在一些模块的功能较为通用,在构造其它软件系统时仍会被使用。在构造软件系统时,如果将所有模块的源代码都静态编译到整个应用程序 EXE 文件中,会产生一些问题:一个缺点是增加了应用程序的大小,它会占用更多的磁盘空间,程序运行时也会消耗较大的内存空间,造成系统资源的浪费;另一个缺点是,在编写大的
2015-11-05 08:49:26 1130
转载 根据GUID类别获取设备信息
BOOL EnumClassDevice( const GUID * InterfaceClassGuid, vector &sDevPath){HDEVINFO DeviceInfoSet;HDEVINFO NewDeviceInfoSet;SP_DEVICE_INTERFACE_DATA DeviceInterfaceData;PSP_DEVICE_INTERFAC
2015-10-19 11:38:50 1849
转载 C++打开指定文件夹,并选中文件
今天写代码的时候需要一个打开指定文件夹并选中文件的功能,于是乎就度娘了一下,找到了2中方法,遂记之以留后用,这里也顺便给大家分享一下. 这个方法很简单,实际上是在C++代码中调用了windows的shell命令“explorer”,例如下面我在控制台下通过这个命令打开C盘的Wind
2015-10-17 16:59:32 2537
转载 DirectShow下视频显示窗口设置
显示视频DirectShow 提供了如下过滤器来显示视频:l Video Renderer 过滤器.该过滤器可用于所有的支持DirectX的平台,它对平台没有其它特殊的要求。可以是它,或GDI来显示视频。它是在WindowsXP之前操作系统的默认视频显示过滤器。l Video Mixing Renderer Filter 7 (VMR-7).
2015-09-11 11:11:36 3034
转载 google_protobuf数据类型
要通信,必须有协议,否则双方无法理解对方的码流。在protobuf中,协议是由一系列的消息组成的。因此最重要的就是定义通信时使用到的消息格式。 Protobuf消息定义消息由至少一个字段组合而成,类似于C语言中的结构。每个字段都有一定的格式。字段格式:限定修饰符① | 数据类型② | 字段名称③ | = | 字段编码值④ | [字段默认值⑤]①.限定修饰符包
2015-08-27 09:11:58 562
转载 类对象和类指针的区别
如下程序:#include #include using namespace std;class Student{ public: static intnumber; stringname;public: Student() {} voidset(string str) { name =
2015-08-27 08:52:49 479
原创 插件开发之无法解释的外部符号 DllCanUnloadNow和DllGetClassObject
无法解释的外部符号问题DllCanUnloadNowDllGetClassObject阅读编译输出信息,提示两个lib文件中重复定义的警告warning提示无法确定唯一项然后出现无法解释外部符号error对其中strmbase.lib进行重新编译,在dllenytry.cpp中注释掉这两个函数的实现,ObjBase.h中注释掉两个函数的定义重新编译生成str
2015-08-17 17:23:57 3934
原创 Link 2001 error 常见解决方法
error LNK2001: 无法解析的外部符号 "void __cdecl operator delete(void *)"在项目属性里添加一个附加依赖项:msvcrt.lib。error LNK2001: 无法解析的外部符号 "public: __thiscall BaseFSM::BaseFSM(void)" (??0BaseFSM@@QAE@XZ) 未加入BaseFSM相
2015-08-17 13:27:01 2861
转载 C++强制转换类型
C风格的强制类型转换(Type Cast)很简单,不管什么类型的转换统统是: TYPE b = (TYPE)a C++风格的类型转换提供了4种类型转换操作符来应对不同场合的应用。 const_cast,字面上理解就是去const属性。 static_cast,命名上理解是静态类型转换。如int转换成char。 dynamic_cast,命名上理解是动态类型转换
2015-08-17 08:53:32 406
转载 DirectShow学习笔记总结
DirectShow是微软公司在ActiveMovie和Video for Windows的基础上推出的新一代基于COM(Component Object Model)的流媒体处理的开发包,9.0之前与DirectX开发包一起发布,之后包含在windows SDK中。。DirectShow使用一种叫Filter Graph的模型来管理整个数据流的处理过程,运用DirectShow,我们可以很方便地
2015-08-11 18:31:29 594
转载 Windows线程池
线程池 线程池的目的就是为了减少创建和销毁线程的额外开销,利用已经存在的线程多次循环执行多个任务从而提高系统的处理能力.线程池会自动地根据内制的算法增加或减少线程池中的线程或为程序增加新的线程池。1.异步方法调用 异步方法调用有以下两种方法:
2015-08-11 16:49:42 482
转载 Windows系统线程池+利用windows自带的线程池
一直想弄明白Windows的IO完成端口是什么,这个词语每每出现在我眼前时总是伴随着鲜花和赞美,因此我便将其同许多我从来没搞懂过的东西一起归为神秘一类。这两天一直在看《Windows核心编程》,学到了不少东西,但是同别的英文经典一样,中文版经常让我感觉不知所云,我很不喜欢书中的例子都是用C++来写,并且都有图形界面,这阻碍了初学者理解问题的本质,并不是每个人都熟悉Windows的图形界面编程,Wi
2015-08-11 16:46:54 1828
原创 线程池C++
线程池:简单地说,线程池 就是预先创建好一批线程,方便、快速地处理收到的业务。比起传统的到来一个任务,即时创建一个线程来处理,节省了线程的创建和回收的开销,响应更快,效率更高。在linux中,使用的是posix线程库,首先介绍几个常用的函数:1 线程的创建和取消函数 pthread_create 创建线程 pthread_join 等待线程结束 pthread_ca
2015-08-11 09:39:36 587
转载 线程池及例程
本文介绍的线程池采用C++语言,在windows平台下实现。此版本为Version 1.0,以后还会推出功能更完备的后续版本。本着技术分享的精神写作本文同时公布源代码。欢迎大家指出该线程池存在的问题并对当前性能进行讨论。 适用场景: 1.需要大量的线程来完成任务,且完成任务的时间比较短。 2.对性能要求苛刻的应用,比如要求服务
2015-08-08 11:59:38 518
转载 ThreadHandle And CloseHandel
很多程序在创建线程都这样写的: ............ ThreadHandle = CreateThread(NULL,0,.....); CloseHandel(ThreadHandle ); 。。。。。 这不是刚好创建又关闭了吗?线程怎么运行呢?================================================Closing a t
2015-08-08 10:57:23 577
转载 TCP和UDP之间的区别和联系
TCP和UDP之间的区别和联系 1.面向连接的TCP TCP(Transmission Control Protocol,传输控制协议)是基于连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠的连接。一个TCP连接必须要经过三次“对话”才能建立起来,其中的过程非常复杂,我们这里只做简单、形象的介绍,你只要做到能够理解这个过程即可。我们来看看这三次对话的简单过程:主机A向主机
2015-07-31 10:29:31 506
转载 basic_string::append
【转】http://blog.programfan.com/blog.asp?blogid=2797&columnid=3755basic_string::append 向string 的后面加字符或字符串。(比+=, push_back 更灵活)(1)向string 的后面加C-stringbasic_string& append( const value_type
2015-07-30 14:29:28 861
转载 Qt 无边框、透明、可移动、的个性窗体案例详解
很多朋友都问透明的效果怎么做,为什么自己做的无边框窗体不可移动,一个个回答的很累,干脆写出来分享下好了.[cpp] view plaincopyprint?int main(int argc,char *argv[]){ QApplication::setStyle("cleanlooks"); QApplication a(argc,
2014-07-01 09:57:25 916
转载 Ubuntu下Qt 无法显示菜单栏
Ubuntu下Qt 无法显示菜单栏使用QMainWindow可以方便的添加菜单栏、工具条等,但是在Ubuntu 12.04的系统下,菜单栏始终无法显示,后来得知是此系统将菜单栏做到的屏幕顶端。要想把菜单栏恢复到程序窗口中,需要卸载一些东西,使用下面的命令即可。 sudo apt-get remove appmenu-gtk appmenu-gtk3 appmenu-qt, 若想重装回来则
2014-06-30 10:14:24 2276
转载 ubuntu linux 下使用Qt连接MySQL数据库
环境说明:ubuntu 10.04.2QtSDK (1.5G安装包的那个)mysql5.11.安装MySQL Linux下完整的MySQL开发需要安装服务器端,如果安装客户端也没什么不好。直接在软件中心搜mysql,把client和server选上。 server在安装时会提示为root用户设置密码,设一个好了。 我使用的是mysql5.1版本,用户名密
2014-06-29 19:23:25 768
转载 QT快捷键总结
F1 查看帮助F2 跳转到函数定义(和Ctrl+鼠标左键一样的效果)Shift+F2 声明和定义之间切换F4 头文件和源文件之间切换Ctrl+1 欢迎模式Ctrl+2 编辑模式Ctrl+3 调试模式Ctrl+4 项目设置模式Ctrl+5 帮助模式
2013-06-25 20:00:00 675
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人