
C++
文章平均质量分 59
_Tiny
若不是眉间铺满了尘埃,我怎知道你曾经等待。
展开
-
EXE和DLL互相调用
问:exe 可以调用dll中的函数,反过来dll能不能调用exe中的函数? 比如:exe 中有A , C 两函数, dll 中有函数B 能否 A 调用 B , B函数中又调用 C ?答一: 首先说明 可以做到 但这种调用方式不好 导致耦合性和强 失去了dll作为组件开发的意义 实现的话 举个简单例子 在dll内定一个全局函数指针,抛出设置此函转载 2016-05-27 16:44:53 · 4669 阅读 · 0 评论 -
c++多个源文件共用一个全局变量(extern 的用法)(
本文转自:http://blog.sina.com.cn/s/blog_74a459380101rjh4.html例子:头文件:state.h 源文件:state.cpp 其它源文件:t1.cpp t2.cpp t3.cpp, 这些源文件都包含头文件state.h。需要定义一个全局变量供这些源文件中使用:方法如下1、在 state.h转载 2016-04-21 12:19:05 · 4183 阅读 · 0 评论 -
C++默认参数注意事项
转自 :http://blog.csdn.net/weiwenhp/article/details/8481026目录(?)[+]默认参数是严格按照从左至右的顺序使用参数默认值只能在声明或定义中一处指定不能同时指定默认参数与函数重载的二义性问题默认参数在函数参数较多时是非常有用的.可以只传必须的值,其它取默认值.使用方法如下:转载 2016-05-20 11:09:07 · 542 阅读 · 0 评论 -
关于COM组件
《COM技术内幕》FAQ1:什么是COM组件?〖第一章〗Answer:COM组件是以WIN32动态链接库(DLL)或可执行文件(EXE)形式发布的可执行代码组成。COM组件是遵循COM规范编写的COM组件是一些小的二进制可执行文件COM组件可以给应用程序、操作系统以及其他组件提供服务自定义的COM组件可以在运行时刻同其他组件连接起来构成某个应转载 2016-04-11 17:44:22 · 2634 阅读 · 0 评论 -
C/C++中正反斜杠和转义字符
http://www.cnblogs.com/zuoguanglin/archive/2012/02/23/2364528.htmlhttp://www.cnblogs.com/emanlee/archive/2010/05/14/1735274.html正反斜杠正斜杠,符号是"/";反斜杠,符号是"\"。/,正斜杠的ASCII码是47;\,反斜杠的ASCII码是108;*转载 2016-04-13 15:07:55 · 27529 阅读 · 1 评论 -
DLL入门浅析(5)——使用DLL在进程间共享数据
DLL入门浅析(5)——使用DLL在进程间共享数据在Win16环境中,DLL的全局数据对每个载入它的进程来说都是相同的,因为所有的进程用的都收同一块地址空间;而在Win32环境中,情况却发生了变化,每个进程都有了它自己的地址空间,DLL函数中的代码所创建的任何对象(包括变量)都归调用它的进程所有。当进程在载入DLL时,操作系统自动把DLL地址映射到该进程的私有空间,也就是进程的虚拟地址空间转载 2016-03-21 16:44:46 · 571 阅读 · 0 评论 -
__declspec(dllimport)的理解
__declspec(dllimport)MSDN中说明:不使用 __declspec(dllimport) 也能正确编译代码,但使用 __declspec(dllimport) 使编译器可以生成更好的代码。编译器之所以能够生成更好的代码,是因为它可以确定函数是否存在于 DLL 中,这使得编译器可以生成跳过间接寻址级别的代码,而这些代码通常会出现在跨 DLL 边界的函数调用转载 2016-06-30 12:13:59 · 3844 阅读 · 0 评论 -
面向对象的七大原则
转自:http://blog.csdn.net/xtzmm1215/article/details/45156117http://blog.csdn.net/GOALSTAR/article/details/3735612#comments一、面向对象的特性三个基本的特性:封装、继承与多态。1、封装面向对象编程核心思想这一就是就是将数据和对数据的操作封装转载 2016-11-03 16:20:31 · 690 阅读 · 0 评论 -
DLL入门浅析(4)——从DLL中导出类
DLL入门浅析(4)——从DLL中导出类 前面介绍了怎么从DLL中导出函数和变量,实际上导出类的方法也是大同小异,废话就不多说了,下面给个简单例子示范一下,也就不多做解释了。DLL头文件:#ifndef _DLL_SAMPLE_H#define _DLL_SAMPLE_H// 通过宏来控制是导入还是导出#ifdef _DLL_SAMPLE#define转载 2016-03-21 16:44:24 · 582 阅读 · 0 评论 -
C2653
编译器错误 C2653错误消息“identifier”: 不是类或命名空间名称语法需要类、结构、联合或命名空间名称。下面的示例生成 C2653: 复制代码// C2653.cpp// compile with: /cclass yy { void func1(int i);};原创 2014-07-31 14:24:01 · 1368 阅读 · 0 评论 -
#if,#ifdef和#if defined
以#开头的都是预编译指令,就是在正式编译之前,编译器做一些预处理的工作#if 条件语句程序段1 //如果条件语句成立,那么就编译程序段1 #endif程序段2//如果条件不语句成立,那么就编译程序段2 #ifndef x//先测试x是否被宏定义过 #define 程序段1 //如果x没有被宏定义过,那么就编译程序段1 #endif 程序段2 //如果x已经定义过原创 2014-08-05 15:14:42 · 2538 阅读 · 0 评论 -
C++沉思录(一)
序幕原创 2014-08-14 09:46:20 · 1102 阅读 · 0 评论 -
DirectShow视频采集和OpenCV
首先说下OpenCV和DirectShow: OpenCV是Intel开源计算机视觉库。它由一系列 C 函数和少量 C++ 类构成,实现了图像处理和计算机视觉方面的很多通用算法。DirectShow是微软公司提供的一套在Windows平台上进行流媒体处理的开发包,与DirectX开发包一起发布。DirectShow为多媒体流的捕捉和回放提供了强有力的支持。运用DirectShow,我们可以原创 2012-06-08 16:04:58 · 5456 阅读 · 0 评论 -
xxx.obj : error LNK2005 ................已经在x.obj中定义 ……
编程中经常能遇到LNK2005错误——重复定义错误,其实LNK2005错误并不是一个很难解决的错误。弄清楚它形成的原因,就可以轻松解决它了。 造成LNK2005错误主要有以下几种情况: 1.重复定义全局变量。可能存在两种情况: A、对于一些初学编程的程序员,有时候会以为需要使用全局变量的地方就可以使用定义申明一下。其实这是错误的,全局变量是针对整个工程的原创 2015-01-29 14:09:37 · 9064 阅读 · 0 评论 -
1>LINK : fatal error LNK1181: cannot open input file 'xxx.obj'
最近被一个很低级的问题差点搞死,而且很容易就能描述清楚,所以必须记录下来。前几天下载了一个别人的demo,然后在debug下配置编译正常运行;配置Release的时候基本都是copy过去的,结果编译时出现链接错误1>LINK: fatal error LNK1181: cannot open input file 'xxx.obj',搞了2天才发现问题所在。原因很简单,就是添加(cop原创 2013-04-15 15:02:59 · 8964 阅读 · 0 评论 -
C语言中将二维数组作为参数传递给函数的方法
C语言中将二维数组作为参数传递给函数的方法二维数组的函数参数传递的问题,以前解决过好几次,总还是忘记,这回总结出来写在这里。 #include /********************************* * 方法1: 第一维的长度可以不指定 * * 但必须指定第二维的长度 *转载 2013-06-17 16:14:43 · 1254 阅读 · 0 评论 -
WPF&MFC&Opencv透明全屏无边框窗口创建
WPF窗口:MainWindow.xaml中修改代码如下:Title="MainWindow" Height="1080" Width="1920" WindowStyle="None" Background="{x:Null}" AllowsTransparency="True" Topmost ="True" >MainWindow.xaml.cs中修改如下:原创 2013-05-27 10:38:46 · 4948 阅读 · 5 评论 -
win32控制台项目中使用mfc头文件
win32控制台项目中试用mfc,并且要重复bao'h原创 2014-06-23 12:36:41 · 2539 阅读 · 0 评论 -
关于C++变量初始化的总结(转载+自己总结)
当定义没有初始化的变量时,系统有可能会为我们进行隐式的初始化,至于系统是否帮我们隐式初始化变量,以及为变量赋予一个怎么的初始值,这要取决于该变量的类型以及变量的定义域。1.内置类型变量的初始化 内置变量是否自动初始化,取决于该变量的定义域。①在全局范围内的内置类型变量均被编译器自动初始化为0值#includeusing namespace std;//全局范围内的部原创 2016-03-31 16:29:47 · 1173 阅读 · 0 评论 -
C++ DLL导出类
C++ DLL导出类http://blog.csdn.net/jietoulangren/article/details/14052533在公司使用C++ 做开发,公司的大拿搭了一个C++的跨平台开发框架。在C++开发领域我还是个新手,有很多知识要学,比如Dll库的开发。 参考了很多这方面的资料,对DLL有一个基本全面的了解。有一个问题让我有点困惑,普通的导入导出C++类的方式转载 2016-03-21 16:37:54 · 4587 阅读 · 1 评论 -
VC++动态链接库编程之MFC DLL
1.概论 先来阐述一下DLL(Dynamic Linkable Library)的概念,你可以简单的把DLL看成一种仓库,它提供给你一些可以直接拿来用的变量、函数或类。在仓库的发展史上经历了“无库-静态链接库-动态链接库”的时代。静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你愿不愿意,lib中的指令都被直接包含在最终生成的EXE文件中了。但是若使用DLL,该D转载 2016-03-21 16:40:08 · 1013 阅读 · 0 评论 -
DLL入门浅析(1)——如何建立DLL
DLL入门浅析(1)——如何建立DLL初学DLL,结合教程,总结一下自己的所得,希望对DLL初学者们有所帮助。 动态链接库(DLL)是从C语言函数库和Pascal库单元的概念发展而来的。所有的C语言标准库函数都存放在某一函数库中。在链接应用程序的过程中,链接器从库文件中拷贝程序调用的函数代码,并把这些函数代码添加到可执行文件中。这种方法同只把函数储存在已编译的OBJ文件中相比更转载 2016-03-21 16:40:46 · 470 阅读 · 0 评论 -
DLL入门浅析(2)——如何使用DLL
DLL入门浅析(2)——如何使用DLL上文我简单的介绍了如何建立一个简单DLL,下面再我简单的介绍一下如何使用一个DLL。当一个DLL被生成后,它创建了一个.dll文件和一个.lib文件;这两个都是你需要的。要使用DLL,就需要载入这个DLL。隐式链接这里有两个方法来载入一个DLL;一个方法是捷径另一个则相比要复杂些。捷径是只链接到你.lib 文件并将.dll文件置入你转载 2016-03-21 16:41:18 · 2290 阅读 · 0 评论 -
volatile const static与extern
事实上,仅仅使用volatile,并不能保证数据是从内存或者设备寄存器里读取的.还必须把缓存关掉,这事编译器管不了.由于volatile多用于对内存映射的设备寄存器的访问,而通常这段内存地址并不会被映射到某段缓存,所以我们无法察觉这额外的一步.转载 2015-03-29 15:20:56 · 838 阅读 · 0 评论 -
怎么跟妻子解释面向对象
前言 此文译自CodeProject上《How I explained OOD to my wife》一文,该文章在Top Articles上排名第3,读了之后觉得非常好,就翻译出来,供不想读英文的同学参考学习。作者(Shubho)的妻子(Farhana)打算重新做一名软件工程师(她本来是,后来因为他们孩子出生放弃了),于是作者就试图根据自己在软件开发设计方面的经验帮助她学习面向对转载 2015-05-15 11:25:48 · 1188 阅读 · 0 评论 -
C++取整
1、直接赋值给整数变量。如: int i = 2.5; 或 i = (int) 2.5; 这种方法采用的是舍去小数部分 2、C/C++中的整数除法运算符“/”本身就有取整功能(int / int),而下面介绍的取整函数返回值是double。整数除法对正数的取整是舍去小数部分,可以用于你的问题。但是整数除法对负数的取整结果和使用的C编译器有关。 3、使转载 2015-05-15 11:25:35 · 18573 阅读 · 0 评论 -
error PRJ0002 : 错误的结果 1 (从“xxx\rc.exe”返回)。
error PRJ0002 : 错误的结果 1 (从“xxx\rc.exe”返回)。资源文件(.rc)不存在或者被改名,自己检查下改下就好了。原创 2015-11-11 14:02:26 · 3400 阅读 · 0 评论 -
DLL入门浅析(3)——从DLL中导出变量
DLL入门浅析(3)——从DLL中导出变量 前面介绍了怎么从DLL中导出函数,下面我们来看一下如何从DLL中导出变量来。 声明为导出变量时,同样有两种方法: 第一种是用__declspec进行导出声明#ifndef _DLL_SAMPLE_H#define _DLL_SAMPLE_H// 如果定义了C++编译器,那么声明为C链接方式#ifde转载 2016-03-21 16:41:48 · 862 阅读 · 0 评论