由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - windows下mfc,dll, etc.
相关主题
VBA能不能调用其他语言写的库/函数?请教c++ 类 内外的 同名函数问题
请教C++程序中手动Ctrl+C后,如何才可以调用一下自己写的退出函数当某个函数被调用的时候,需要定义一个宏
如何实现换肤?C/C++函数调用和栈内存
请教一个Qt4的问题请问有没有用过IMSL库的大虾? (转载)
win32 c编程能否调用mfc代码?请教一个程序调用的内存问题 (转载)
slider多长时间调用一次callback?在哪里设置呢?[合集] C问题求助:如何强行从外部访问local static variable?
Visual Studion 10, C++ string问题:表现不一致怎么在FreeBSD内核里面实现随机流函数
请教高手:Google云这个是如何实现的?这个函数有问题吗?
相关话题的讨论汇总
话题: dll话题: project话题: 函数话题: theapp话题: 调用
进入Programming版参与讨论
1 (共1页)
e********y
发帖数: 66
1
我有一个在Visual studio 6 下开发的mfc的dll project,暂且叫它a.dll。现在想用cpputest来对其中每个class做unit test。对这个project不是很了解,主要是对windows的用visual studio开发的东西不熟,文档也没有,开发的人也走了。
这个project本身好像是个类似ocx的dll,它只export了DllGetClassObject,DllCanUnloadNow,DllRegisterServer,DllUnregisterServer这4个函数。这个dll本身好像是给别的ocx控件提供服务的。
为了unit test, 我在这个project中加了一个含有main函数的test.cpp文件,另外新加了一个configuration用来编译成win32 console。在test.cpp的main中调用afxwininit来支持mfc。试着做了一个简单的cpputest测试例来测试其中的某一个class,编译和跑测试例本身好像没问题。但是在程序退出时总有run time error的exception。跟踪进去发现Project中一个CWinApp的全局变量theApp。几乎所有的class中都要调用theApp中的一些函数。在它的析构函数中有用delete来回收内存。主程序退出过程中调用theApp的析构函数时,遇到delete时总是有run time error的exception。我debug下,却并没有发现这是些无效指针,但就是有exception。
我们有另外的一个project能直接调用这个a.dll,我从这调试进去却发现在theApp的析构函数并不出错。这样我就怀疑是不是我新加的configuration弄错了,或者是别的什么。
实在是不懂,想请教一下大家该怎么办?
谢谢
x****u
发帖数: 44466
2
你最好重新写一下,看了2遍还是不懂。

studio
cpp

【在 e********y 的大作中提到】
: 我有一个在Visual studio 6 下开发的mfc的dll project,暂且叫它a.dll。现在想用cpputest来对其中每个class做unit test。对这个project不是很了解,主要是对windows的用visual studio开发的东西不熟,文档也没有,开发的人也走了。
: 这个project本身好像是个类似ocx的dll,它只export了DllGetClassObject,DllCanUnloadNow,DllRegisterServer,DllUnregisterServer这4个函数。这个dll本身好像是给别的ocx控件提供服务的。
: 为了unit test, 我在这个project中加了一个含有main函数的test.cpp文件,另外新加了一个configuration用来编译成win32 console。在test.cpp的main中调用afxwininit来支持mfc。试着做了一个简单的cpputest测试例来测试其中的某一个class,编译和跑测试例本身好像没问题。但是在程序退出时总有run time error的exception。跟踪进去发现Project中一个CWinApp的全局变量theApp。几乎所有的class中都要调用theApp中的一些函数。在它的析构函数中有用delete来回收内存。主程序退出过程中调用theApp的析构函数时,遇到delete时总是有run time error的exception。我debug下,却并没有发现这是些无效指针,但就是有exception。
: 我们有另外的一个project能直接调用这个a.dll,我从这调试进去却发现在theApp的析构函数并不出错。这样我就怀疑是不是我新加的configuration弄错了,或者是别的什么。
: 实在是不懂,想请教一下大家该怎么办?
: 谢谢

e********y
发帖数: 66
3
改了一下,不知道效果怎么样。怪不得以前老师说我写作文不行,东一句,西一句的。

【在 x****u 的大作中提到】
: 你最好重新写一下,看了2遍还是不懂。
:
: studio
: cpp

x****u
发帖数: 44466
4
如果是作unit test的话,应该生成一个空白的工程,然后注册这个组件后调用。

用cpputest来对其中每个class做unit test。对这个project不是很了解,主要是对
windows的用visual studio开发的东西不熟,文档也没有,开发的人也走了。
DllCanUnloadNow,DllRegisterServer,DllUnregisterServer这4个函数。这个dll本
身好像是给别的ocx控件提供服务的。
加了一个configuration用来编译成win32 console。在test.cpp的main中调用
afxwininit来支持mfc。试着做了一个简单的cpputest测试例来测试其中的某一个class
,编译和跑测试例本身好像没问题。
析构函数并不出错。这样我就怀疑是不是我新加的configuration弄错了,或者是别的
什么。

【在 e********y 的大作中提到】
: 我有一个在Visual studio 6 下开发的mfc的dll project,暂且叫它a.dll。现在想用cpputest来对其中每个class做unit test。对这个project不是很了解,主要是对windows的用visual studio开发的东西不熟,文档也没有,开发的人也走了。
: 这个project本身好像是个类似ocx的dll,它只export了DllGetClassObject,DllCanUnloadNow,DllRegisterServer,DllUnregisterServer这4个函数。这个dll本身好像是给别的ocx控件提供服务的。
: 为了unit test, 我在这个project中加了一个含有main函数的test.cpp文件,另外新加了一个configuration用来编译成win32 console。在test.cpp的main中调用afxwininit来支持mfc。试着做了一个简单的cpputest测试例来测试其中的某一个class,编译和跑测试例本身好像没问题。但是在程序退出时总有run time error的exception。跟踪进去发现Project中一个CWinApp的全局变量theApp。几乎所有的class中都要调用theApp中的一些函数。在它的析构函数中有用delete来回收内存。主程序退出过程中调用theApp的析构函数时,遇到delete时总是有run time error的exception。我debug下,却并没有发现这是些无效指针,但就是有exception。
: 我们有另外的一个project能直接调用这个a.dll,我从这调试进去却发现在theApp的析构函数并不出错。这样我就怀疑是不是我新加的configuration弄错了,或者是别的什么。
: 实在是不懂,想请教一下大家该怎么办?
: 谢谢

e********y
发帖数: 66
5
如果这样做的话,能仔细讲讲怎么能对其中的所有类都进行测试了吗?
我也试着用另外一个project直接调用a.dll,但是这个a.dll本身没有export所有的类
,这样链接就有错误了。

class

【在 x****u 的大作中提到】
: 如果是作unit test的话,应该生成一个空白的工程,然后注册这个组件后调用。
:
: 用cpputest来对其中每个class做unit test。对这个project不是很了解,主要是对
: windows的用visual studio开发的东西不熟,文档也没有,开发的人也走了。
: DllCanUnloadNow,DllRegisterServer,DllUnregisterServer这4个函数。这个dll本
: 身好像是给别的ocx控件提供服务的。
: 加了一个configuration用来编译成win32 console。在test.cpp的main中调用
: afxwininit来支持mfc。试着做了一个简单的cpputest测试例来测试其中的某一个class
: ,编译和跑测试例本身好像没问题。
: 析构函数并不出错。这样我就怀疑是不是我新加的configuration弄错了,或者是别的

x****u
发帖数: 44466
6
你这个dll是activex,注册后应该用activex的方法调用。一般来说向导生成的都有tlb
,import这个含有tlb的dll,vc可以帮你生成智能指针类。

【在 e********y 的大作中提到】
: 如果这样做的话,能仔细讲讲怎么能对其中的所有类都进行测试了吗?
: 我也试着用另外一个project直接调用a.dll,但是这个a.dll本身没有export所有的类
: ,这样链接就有错误了。
:
: class

e********y
发帖数: 66
7
噢,好的,那我再学习学习。有什么教程可推荐的吗?

tlb

【在 x****u 的大作中提到】
: 你这个dll是activex,注册后应该用activex的方法调用。一般来说向导生成的都有tlb
: ,import这个含有tlb的dll,vc可以帮你生成智能指针类。

x****u
发帖数: 44466
8
你最好掌握一些com的基本知识,然后用atl操作起来很容易。

【在 e********y 的大作中提到】
: 噢,好的,那我再学习学习。有什么教程可推荐的吗?
:
: tlb

1 (共1页)
进入Programming版参与讨论
相关主题
这个函数有问题吗?win32 c编程能否调用mfc代码?
请教c++里函数调用的问题slider多长时间调用一次callback?在哪里设置呢?
JAVA 如何调用现成的dllVisual Studion 10, C++ string问题:表现不一致
[合集] 几道面试问题请教高手:Google云这个是如何实现的?
VBA能不能调用其他语言写的库/函数?请教c++ 类 内外的 同名函数问题
请教C++程序中手动Ctrl+C后,如何才可以调用一下自己写的退出函数当某个函数被调用的时候,需要定义一个宏
如何实现换肤?C/C++函数调用和栈内存
请教一个Qt4的问题请问有没有用过IMSL库的大虾? (转载)
相关话题的讨论汇总
话题: dll话题: project话题: 函数话题: theapp话题: 调用