c++
mincheat
Be best of yourself
展开
-
_DllMain@12 已经在 MSVCRTD.lib(dllmain.obj) 中定义
原因:库冲突,两个 库执行顺序问题1,项目-属性-链接器-命令行 /verbose:lib然后编译,可以看到查找 库的过程(我写下我自己的log)正在搜索 C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib\OLDNAMES.lib:1> 正在搜索 C:\Program Files (x86原创 2015-12-21 14:29:42 · 5361 阅读 · 1 评论 -
socket通信简介
我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览器的进程怎么与web服务器通信的?当你用QQ聊天时,QQ进程怎么与服务器或你好友所在的QQ进程通信?这些都得靠socket?那什么是socket?socket的类型有哪些?还有socket的基本函数,这些都是本文想介绍的。本文的主要内容如下:1、网络中进程之间如何通信?2、Socket是什么?转载 2016-03-24 16:27:15 · 345 阅读 · 0 评论 -
自己写一个简单的定时器settimer
MyTimer.h#pragma once#include typedef void (*TimerProCB)(int Handler, void* context);typedef struct TIMER_PARAM{ int Handler; void* context; TimerProCB timepro; unsigned int elapse;}TIM原创 2016-04-13 17:26:10 · 1242 阅读 · 0 评论 -
c++动态库加载顺序和同名动态库同时加载问题
本文仅 供学习参考,欢迎提出 宝贵意见一,同名称动态库加载顺序。 现有同名称动态库Dllpath.dll 3个,内容非常简单,分别为extern "C" __declspec(dllexport) void myPrint(){OutputDebugStringA("exe path\n");}extern "C" __declspec(dllexport原创 2016-05-04 10:15:04 · 7892 阅读 · 2 评论 -
c++ 模板的实现位置讨论(.h cpp)
本文,仅针对模板函数的写的位置做讨论(记录)。 首先,c++的模板是要有调用,才会被编译的。 因为本身函数要被编译成具体的参数,函数名,返回值类型的一条函数记录(个人理解),记录在函数表中, 而模板本身就是一个泛型, 只有被调用的时候才会产生一个具体的函数记录。 比如 template Class TestC{Public:原创 2017-09-15 09:28:28 · 826 阅读 · 0 评论 -
_tcsncpy_s的src 会被自动覆盖成 fe fe fe fe
在项目使用_tcsncpy_s, 开始对src memset了,所以,最后结果,一直认为就是后面都是0, 直接使用src做后续的操作(我当时是使用它做了求hash值),你懂得,出现了意向不到的事,这里写下来,大家使用的时候也注意一下。内存为pdata的后面妈的全变成fefefefe了原创 2017-09-08 15:06:16 · 587 阅读 · 0 评论 -
cap,pcap文件中的ipv4数据包转成ipv6数据包
cap , pcap文件结构(解析),网上多得是,这里就不写了。 写这个,主要是工作中正好需要大量的ipv6数据包,但是ipv6数据包不太好找,干脆就直接写个简单的工具,把ipv4转成对应的ipv6,可用于测试。 cpp代码:// Ipv4ToIpv6_pCap.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #de原创 2017-10-09 11:12:05 · 2210 阅读 · 0 评论 -
map使用下标[]还是insert
记录学习一下。insert操作,如果该键值不存在,那么就插入成功,如果存在,那么就失败 ,注意:它不会修改该键值对应的value值[]操作,是先将该键值对应的value赋值成缺省值,然后再赋值成给的值,如果键值已经存在,那么它会修改该键值对应的value所以,用的时候要注意了,如果希望新添加的值,要覆盖之前存在的值,就要使用[]运算符, 当然,使用[]会增加开销(它要先赋原创 2017-11-20 13:52:08 · 827 阅读 · 0 评论 -
ffmpeg release下出错
解决方法:使用vs2010开发播放器,在debug下可以编译通过并且可以运行,但是在release下编译通过之后不能运行。经过检查链接库dll也没有问题。后来在网上查找相关资料终于有了解决方案了。debug和release版本是区别的,在release版本下,属性->连接器->优化->引用:选择否(/OPT:NOREF),即保留未引用数据选项就可以了。运行之后就可以正常通过。原创 2015-09-30 13:48:49 · 653 阅读 · 0 评论 -
动态库与静态库的原理介绍
在UNIX 的应用开发中,静态库和动态库都是我们经常用到的技术,有必要对这两个概念及其原理做一些介绍。静态库静态库是一些目标文件的集合,通常为后缀为.o 的文件,通过ar 工具打包而成,命名格式为libxxx.a ,其中xxx 为给定的静态库文件名,如libm.a ,为数学函数库,用户也可以命名自己的库。在创建可执行程序的过程中,静态库同时被链接到程序代码,被主程序调用的函数目转载 2015-09-11 15:26:22 · 423 阅读 · 0 评论 -
Window 下 VFW 视频采集与显示
引言 经过几天的努力终于将VFW视频采集与显示功能完整实现了,不得不说网上对这方面完整的详细讲解文章是在太少了。所以就要本人来好好总结一下让后来者不再像我一样折腾好久。在本文中我将详细讲解VFW视频采集过程的实现,以及采集后视频的显示方法。VFW简介 虽然这是篇技术博文,但是我觉得用一个东西,那么关于它的概述还是不能少,所以特从百度上copy了下VFW的概念描转载 2015-07-23 15:12:04 · 1992 阅读 · 0 评论 -
C++int型与string型互相转换
本以为这么多年C#经验,学个C++没多难,现在发现错了。C++真TM难。今天遇到int转string绊了半天,方法很多,不知道为什么搞那么复杂,我只挑最简单易懂的,管他效率不效率的。int转stringint n = 0;std::stringstream ss;std::string str;ssss>>str;string转intstd::string转载 2014-05-12 11:19:39 · 670 阅读 · 0 评论 -
rand前用srand
srand就是给定一个种子,才能让rand产sheng原创 2014-05-21 09:20:24 · 638 阅读 · 0 评论 -
c++读写ini小例
// iniReadWrite.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include #include TCHAR* GetIniFilePath(){TCHAR* pFindChar(0);TCHAR fileDir[MAX_PATH];GetModul原创 2014-08-05 16:26:55 · 1677 阅读 · 0 评论 -
C++通过OCCI操作Oracle数据库详解
1.安装OCCI如果oracle数据库默认没有安装OCCI,可以自己从官网上下载与自己数据库版本一致的API,地址:http://www.oracle.com/technetwork/topics/linuxsoft-082809.html ; 其中包含四个软件包:?oracle-instantclient-sqlplus-10.2.0.5-1.i386.转载 2014-08-26 10:36:54 · 509 阅读 · 0 评论 -
C++ 注册表编程
C++ 注册表编程转自http://wenku.baidu.com/view/f369e14acf84b9d528ea7a77.html1.基础知识注册表的组织方式跟文件目录比较相似,主要分为根键、子键和键值项三部分,与文件目录对应的话就是根目录、子目录和文件。分别介绍一下这三部分: (1)根键。分为5个,分别为HKEY_CLASSES_ROOT, HKEY_CURRE转载 2014-11-11 09:07:03 · 370 阅读 · 0 评论 -
freopen重定向
函数名: freopen 功 能: 替换一个流 用 法: FILE *freopen(char *filename, char *type, FILE *stream); 程序例: #include int main(void) { /* redirect standard output to a file */ if (freopen("OUTPUT.FIL",转载 2015-04-08 15:36:57 · 802 阅读 · 1 评论 -
Activex、OLE、COM、OCX、DLL之间的区别
熟悉面向对象编程和网络编程的人一定对ActiveX、OLE和COM/DCOM这些概念不会陌生,但是它们之间究竟是什么样的关系,对许多们还是比较模糊的。在具体介绍它们的关系之间,我们还是先明确组件(Component)和对象(Object)之间的区别。组件是一个可重用的模块,它是由一组处理过程、数据封装和用户接口组成的业务对象(Rules Object)。组件看起来像对象,但不符合对象的学术转载 2015-06-16 10:58:28 · 594 阅读 · 0 评论 -
C++ 初始化列表
C++ 初始化列表何谓初始化列表与其他函数不同,构造函数除了有名字,参数列表和函数体之外,还可以有初始化列表,初始化列表以冒号开头,后跟一系列以逗号分隔的初始化字段。在C++中,struct和class的唯一区别是默认的访问性不同,而这里我们不考虑访问性的问题,所以下面的代码都以struct来演示。struct foo{ string name ; i转载 2015-08-24 11:09:49 · 309 阅读 · 0 评论 -
使用线程池的好处
【使用线程池的好处】多线程的环境中,尽量采用线程池 在什么情况下使用线程池? 1.单个任务处理的时间比较短 2.将需处理的任务的数量大 使用线程池的好处: 1.减少在创建和销毁线程上所花的时间以及系统资源的开销 2.如不使用线程池,有可能造成系统创建大量线程而导致消耗完系统内存以及”过度切换”。转载 2014-05-15 14:58:03 · 811 阅读 · 0 评论