C++
文章平均质量分 74
tangketan
这个作者很懒,什么都没留下…
展开
-
[zz] C++ explicit修飾
原文地址:http://hatsukiakio.blogspot.com/2009/05/c-explicit.html c++再轉型別轉換(type cast)的時候有為隱性(implicit)轉換跟顯性(explicit)轉換這個其實其他語言也有,不過今天針對c++的explicit來探討考慮下面一段程式碼#include using namespace std;转载 2011-11-19 16:35:19 · 1390 阅读 · 0 评论 -
LoadLibrary 调用 dll 中的 class
原文:http://www.cppblog.com/codejie/archive/2009/09/24/97141.html转载 2012-04-11 15:51:14 · 1076 阅读 · 0 评论 -
Windows下的编译选项:/WX, /wd
原文:http://msdn.microsoft.com/en-us/library/thxezb7y.aspx OptionDescription/wDisables all compiler warnings./W nSpecifies the highest level of warning转载 2012-06-19 14:42:37 · 1584 阅读 · 0 评论 -
C++ 虚函数 (C++ Virtual function)
原文:http://caterpillar.onlyfun.net/Gossip/CppGossip/VirtualFunction.html之前曾經介紹過函式與運算子的重載(Overload),重載可以使用一個函式名稱來執行不同的實作,這是一種「編譯時期」就需決定的方式,這是「早期繫 結」(Early binding)、「靜態繫結」(Static binding),因為在編譯時就可以決定函式转载 2012-06-26 10:41:05 · 710 阅读 · 0 评论 -
STL中std::map用法详解
原文:http://www.yitsoft.com/chap_study/ch_00029/ch_00029.aspstd::map mapStudent;1. map的构造函数map共提供了6个构造函数,这块涉及到内存分配器这些东西,略过不表,在下面我们将接触到一些map的构造方法,这里要说下的就是,我们通常用如下方法构造一个map:map mapStudent;转载 2012-06-26 01:09:17 · 7968 阅读 · 0 评论 -
gcc 增加 include 目录
原文:http://www.unix-center.net/bbs/viewthread.php?tid=17667 方法一. 修改以下环境变量:把某include目录加到C语言系统目录 export C_INCLUDE_PATH=/usr/local/yourC_IncludeDir: $C_INCLUDE_PATH把某include目录加到C++语言系统目录 expor转载 2012-07-18 19:07:55 · 7271 阅读 · 0 评论 -
MFC 中 UpdateData()用法
一、总结UpdateData()函数UpdateData(true);//用于将屏幕上控件中的数据交换到变量中。UpdateData(false);//用于将数据在屏幕中对应控件中显示出来。 当你使用了ClassWizard建立了控件和变量之间的联系后:当你修改了变量的值,而希望对话框控件更新显示,就应该在修改变量后调用UpdateData(FALSE);如果你希望知道用户转载 2012-07-22 12:39:15 · 1407 阅读 · 0 评论 -
VC++及MFC 客符串转换
VC++及MFC 中使用的字符串多达十几种,如何区分这些不同的字符串,以及如何在不同字符串格式之间转换,是一个很复杂的问题。这里仅给出一些常用的例子。 1. char * 转 LPWSTR char * filename = "canon.wav";wchar_t widearray[100];mbstowcs(widearray, filename, 100);handl原创 2012-07-22 19:20:52 · 728 阅读 · 0 评论 -
OpenCV 的数据类型
下面这段代码有什么问题?double Array[] = {2,3,1,4,1,4,3,4,6};CvMat *A1 = cvCreateMat(3,3, CV_32FC1); cvSetData(A1, Array, A1->step);CvMat *AT1 = cvCreateMat(3,3, CV_32FC1);cvTranspose(A1, AT1);PrintMat(3,3,原创 2012-09-29 12:29:09 · 739 阅读 · 0 评论 -
A LNK2005 error occurs when the CRT library and MFC libraries are linked in the wrong order in Visua
原文:http://support.microsoft.com/kb/148652当 CRT library (libcmt.lib) 与 MFC library (uafxcw.lib) 同时使用时,必须先用 MFC library。而且默认的顺序却是先用 CRT library,这就导致了问题。解决的方法是先去掉这两个library ( ignore specific library),再转载 2012-09-20 12:04:46 · 527 阅读 · 0 评论 -
Windows 7上使用Mingw+Opencv
1. 下载Mingw, opencv, cmake2. 用CMAKE GUI原创 2014-09-09 16:28:10 · 811 阅读 · 0 评论 -
ORB Feature
转载自:http://docs.opencv.org/trunk/doc/py_tutorials/py_feature2d/py_orb/py_orb.htmlTheoryAs an OpenCV enthusiast, the most important thing about the ORB is that it came from “OpenCV Labs”. This转载 2014-10-10 16:55:10 · 1503 阅读 · 0 评论 -
OpenCV学习:分水岭算法
这篇文章由cnblogs上已有的三篇文章加自己的理解转载 2014-10-03 20:40:02 · 3901 阅读 · 1 评论 -
ffmpeg 总结
结构简介FFmpeg的名称来自MPEG视频编码标准,前面的“FF”代表“Fast Forward”,FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。可以轻易地实现多种视频格式之间的相互转换。FFmpeg的用户有Google,Facebook,Youtube,优酷,爱奇艺,土豆等。 组成 1、libavformat:用于各种音视频封装格式的生...原创 2015-04-22 10:18:11 · 4380 阅读 · 0 评论 -
Install and fune-tune caffe on Ubuntu
Install and use caffe on Ubuntu原创 2017-05-23 15:46:28 · 764 阅读 · 0 评论 -
CMake使用心得
CMake为Debug和Release分别设置不同的选项编译选项set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Wall")set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -Wall") 链接选项add_executable( MyEXE ${...原创 2018-02-23 17:35:02 · 486 阅读 · 0 评论 -
Using OpenCV's Test Framework (With CMake)
转自:http://quentin.bonnard.eu/blog/2013/10/16/Using-OpenCV_s_test_framework_with_CMake/原创 2018-05-16 10:38:00 · 206 阅读 · 0 评论 -
堆排序 (Heap Sort)
转自: http://bubkoo.com/2014/01/14/sort-algorithm/heap-sort/先上一张堆排序动画演示图片:图片来自维基百科 图片来自维基百科不得不说说二叉树要了解堆首先得了解一下二叉树,在计算机科学中,二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二...转载 2018-06-06 18:04:06 · 240 阅读 · 0 评论 -
TryEnterCriticalSection: identifier not found
原因:虽然包含了windows.h,但未定义_WIN32_WINNT。因为在winbase.h (包含在windows.h中) 中, TryEnterCriticalSection只有定义了_WIN32_WINNT 且 _WIN32_WINNT>= 0x0400 时才会被定义。所以解决方法是在编译选项中加入 /D "_WIN32_WINNT=0x0500"。附:_WIN32_WINNT 与原创 2012-02-29 16:25:40 · 2095 阅读 · 0 评论 -
C++中函数返回引用
从函数返回引用确保其引用的对象在函数执行完后仍然存在。引用类型返回值的主要特征是可以作为左值,这意味着我们可以在赋值语句的左边使用返回引用的函数的结果。永远不要从函数中返回局部变量的引用C++中,返回引用是一个比较晦涩的概念。在书中,对此仅仅做了一个一般的介绍,并没有展开。我觉得有必要对此进行一定的展开。(1)首先,返回引用,要求在函数的参数中,包含有以引用方式或指针方转载 2012-02-29 11:04:39 · 501 阅读 · 0 评论 -
为什么编写DirectX程序时常出现WAVEFORMATEX未定义的错误
明明已经在文件开头写上了 #include ,include 路径和lib路径也都已经设置了,而且WAVEFORMATEX 确实就是定义在 dsound.h 中的,为什么还是会出现这样的错误呢?比如我写的这样一个简单的程序:#include char * HRESULT2char(HRESULT res){ switch (res) { case (DS_OK): return "原创 2012-02-19 15:27:30 · 1604 阅读 · 0 评论 -
How to create .lib file when you only have .dll and .h files
1. 原文地址:http://www.codeproject.com/KB/cpp/libfromdll.aspx这篇讲解了DEF文件地结构,但附件中的工程编译不了。 2. Microsoft Support: How To Create 32-bit Import Libraries Without .OBJs or Source2.1 Creating a .DEF file转载 2011-11-22 14:19:44 · 844 阅读 · 0 评论 -
#pragma预处理指令详解
原文地址: http://hi.baidu.com/baiyw920/blog/item/9fc1b73e2b9626c57d1e7130.htmlC和C++程序的每次执行都支持其所在的主机或操作系统所具有的一些独特的特点。例如,有些程序需要精确控制数据存放的内存区域或控制某个函数接收的参数。#pragma为编译器提供了一种在不同机器和操作系统上编译以保持C和C++完全兼容的方法。#pra转载 2011-11-24 20:56:33 · 1006 阅读 · 0 评论 -
.dll.a 和.la 文件的作用
1. dll.a 其实是MinGW下的DLL文件的imp-lib (Import Library) .dll.a文件的最初用意其实是MinGW下的DLL文件的imp-lib (Import Library),即与VC下DLL文件附带了一个引入库.lib类似。在VC下编程,当要使用DLL文件时,在开发时必须要有.lib文件才能链接通过。.dll.a文件就是这样的作用。 但是,MinG原创 2011-11-21 19:26:17 · 9331 阅读 · 1 评论 -
Configure,Makefile.am, Makefile.in, Makefile文件之间关系
一、GNU下工程结构 (原文地址) 1.autoscan (autoconf): 扫描源代码以搜寻普通的可移植性问题,比如检查编译器,库,头文件等,生成文件configure.scan,它是configure.ac的一个雏形。 your source files --> [autoscan*] --> [configure.scan] --> co转载 2011-12-15 15:18:26 · 614 阅读 · 0 评论 -
MSYS, MINGW环境中编译mediastream2和ortp
原文地址:http://www.4ucode.com/Study/Topic/1159836 (1)安装intltool访问http://ftp.acc.umu.se/pub/GNOME/binaries/win32/intltool/0.40/并下载intltool_0.40.4-1_win32.zip,解压到c:\msys目录下;[注: 这一步可以不需要](2)安装li转载 2012-01-14 14:57:41 · 934 阅读 · 0 评论 -
Windows Socket 编程, WIN32_LEAN_AND_MEAN 的用法
一、基本Socket 调用原文地址:Getting Started with Winsock注意关于windows.h 与 winsock2.h 一起使用时的问题:The Winsock2.h header file internally includes core elements from theWindows.h header file, so there is not usua转载 2012-01-02 14:50:01 · 1082 阅读 · 0 评论 -
libjingle之call 程序在VS 2010 debug 模式下无故 crash
VS 2010下的call 程序有时会crash,代码没有任何改动。出错信息为程序会停在以下位置:namespace talk_base {void Break() {#if WIN32 ::DebugBreak();#elif OSX // !WIN32 ::Debugger();#else // !OSX && !WIN32#if _DEBUG_HAVE_BA原创 2012-01-01 16:47:09 · 1253 阅读 · 0 评论 -
const function, function const
常量成员函数const int& myData::getData() const { return data; }function()后面加const叫做const function,只能在class中作为成员函数使用,可以由const object 或者 non-const object 调用,但const object 只能调用const member function。不修改类中原创 2012-01-02 21:46:06 · 3202 阅读 · 0 评论 -
Replacing text macros: #define, ##
原文地址: http://en.cppreference.com/w/cpp/preprocessor/replace# and ## operators:用于代码中的变量替换An # operator before an identifier in the replacement-list of function-like macro puts in quotes the text, r原创 2012-02-11 22:22:56 · 851 阅读 · 0 评论 -
读取播放wav文件并显示波形
原文:http://www.codeguru.com/cpp/g-m/multimedia/audio/article.php/c4739原创 2012-02-12 15:36:25 · 5568 阅读 · 1 评论 -
DirectSound抓取麦克风PCM数据封装类
原文:http://blog.chinaunix.net/space.php?uid=8272118&do=blog&id=2033248转载 2012-02-13 14:47:50 · 867 阅读 · 0 评论 -
从 CWaveFile类 到 DXUTsound.cpp 再到 SDKsound.cpp 再到 SDKwavefile.cpp
也许很多人都不知道Direct X 实现了一个操作wav文件的类叫 CWaveFile。这个类的定义不在dsound.h里,在Microsoft DirectX SDK (June 2010)\Include里也找不到对应的头文件。查了MSDN,说在 DXUTsound.cpp 里实现了它,结果找遍整个Microsoft DirectX SDK 目录都没有找到。无奈之下再找,才发现DXUTso原创 2012-02-12 15:27:03 · 2418 阅读 · 3 评论 -
CreateThread, AfxBeginThread,_beginthread, _beginthreadex的区别
CreateThread, AfxBeginThread,_beginthread, _beginthreadex的区别CreateThread是Windows的API函数(SDK函数的标准形式,直截了当的创建方式,任何场合都可以使用),提供操作系统级别的创建线程的操作,且仅限于工作者线程。不调用MFC和RTL的函数时,可以用CreateThread,其它情况不要轻易。在使用的过程中要考虑转载 2012-02-15 21:25:11 · 484 阅读 · 0 评论 -
MFC 小结:AfxGetMainWnd(), EnableWindow(), etc
1. AfxGetMainWnd(): 获得主窗口的指针。可以在子dialog中终止整个程序。方法一:AfxGetMainWnd()->PostMessage(WM_CLOSE, 0, 0); 注意用 this->SendMessage(WM_CLOSE); 只能终止当前dialog,不能终止整个程序。 2. EnableWindow(): 使某个控件或窗口可用方法一:GetD原创 2012-02-26 22:34:36 · 1615 阅读 · 0 评论 -
在VS 2010 中设置Direct X
VS 2010 相对于VS 2008 改动很大。其中一个很不方便的改动就是把Tools->Options->VC++ Directories 废除了。因此设置Direct X的引用路径就不能永久地保存在VS 2010里,必须每创建一个工程就设置一次。首先添加include 路径:D:\Program Files\Microsoft DirectX SDK %28June 2010%29\Inc原创 2012-02-16 14:40:05 · 1623 阅读 · 1 评论 -
warning LNK4042: The same object file was specified more than once
Background: Libjingle移稙到VS2010下编译。按照Scons给出的工程结构建立了5个lib工程,以及一个call工程。编译jingle时出现warning LNK4042。开始我不管,后来发现编译call出错,凡是在constants.h/constants.cc中定义的变量都不能用,会出现LNK2019 error(出现这个error说明在产生lib的工程中,有一些变量被声原创 2012-02-18 20:53:15 · 2120 阅读 · 0 评论 -
RTP: 实时传输协议详解
目前,在IP网络中实现实时语音、视频通信和应用已经成为网络应用的一个主流技术和发展方向,本文详细介绍IP协议族中用于实时语音、视频数据传输的标准协议RTP( Real-time Transport Protocol)和RTCP(RTP Control Ptotocol)的主要功能。 2、RTP/RTCP协议简介 RTP 由 IETF(http://www.ietf.org/)定义在 R转载 2012-02-27 23:17:26 · 845 阅读 · 0 评论 -
VS命令行编译
VS有一些命令行工具,在开发小型项目时比较有用。启动命令行工具VS有两个命令行工具:x86, x64,分别用来生成32位和64位的程序。从“启动 -> Visual Studio 2017 -> 适用于本机的x86命令行工具” 可启动x86命令行工具。编译cl.exe 可直接编译可执行文件、动态链接库。可执行文件语法如下:cl src1.cpp src2.cpp /I...原创 2019-06-11 19:25:07 · 6898 阅读 · 0 评论