控制台程序可以使用MFC里面的一些函数和类吗

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了控制台程序可以使用MFC里面的一些函数和类吗相关的知识,希望对你有一定的参考价值。

比如控制台程序想实现定时器功能的话,可以利用MFC里的类吗,还有个问题是: 控制台程序中,如何在print(“&d”,i)这个函数中,只输出一行,如果i改变的话,只在原来的输出中显示i的最新值。 例如: 现在控制台中直接输出: 3 如何i的值变化为5的话,就在控制台把3给取消了,直接输出5啊,如下: 5 而不是 35 或 3 5

参考技术A 可以使用MFC的类,前提是你要在工程-设置-常规-使用MFC类作为共享的DLL,然后写代码时加入相应的头文件就行了,至于你说的在原有行改变一个值,这个是不行的(不能像你说的那样实现),不过是可以用其他方法实现的。你可以使用控制台的清屏函数,不过不知道是那个函数,呵呵!!!~~~

从 Win32 控制台应用程序驱动 MFC 应用程序

【中文标题】从 Win32 控制台应用程序驱动 MFC 应用程序【英文标题】:Drive MFC Application from Win32 Console Application 【发布时间】:2013-11-05 19:46:43 【问题描述】:

我有一种情况,我需要对 MFC 应用程序运行一些单元测试。

我基本上在 Win32 控制台应用程序中有一些 gtest 代码,需要能够在 MFC 应用程序的代码中创建一个实例,并且基本上可以做一些断言等......

我尝试创建一个包含 MFC 标头的 Win32 控制台应用程序。然后我包含了我的 MFC 应用程序类的头文件。但是,每当我尝试在我的控制台应用程序中创建一个实例,即 CWindowApplicationApp the_app 时,我都会收到链接错误

这是我的控制台应用程序的一些源代码

CWindowApplicationApp the_app;

using namespace std;

int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])

int nRetCode = 0;

// initialize MFC and print and error on failure
if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))

    // TODO: change error code to suit your needs
    _tprintf(_T("Fatal Error: MFC initialization failed\n"));
    nRetCode = 1;

else




return nRetCode;

错误 LNK2019:无法解析的外部符号“public: __thiscall CWindowApplicationApp::CWindowApplicationApp(void)”(??0CWindowApplicationApp@@QAE@XZ) 在函数“void __cdecl `dynamic initializer for 'the_app''(void)”中引用( ??__Ethe_app@@YAXXZ)

有什么帮助吗?我已经包含了头文件路径

【问题讨论】:

【参考方案1】:

链接器告诉您它不知道在哪里可以找到 CWindowApplicationApp 的构造函数的目标代码。

您需要链接到定义 CWindowApplicationApp 的任何目标文件(通常是 WindowApplicationApp.obj),以及由 WindowApplicationApp.obj 引用的任何其他目标文件(很大程度上取决于您的应用程序结构)。

【讨论】:

【参考方案2】:

你走错路了。不可能在另一个应用程序中创建应用程序的实例。可行的方法是将一些测试代码添加到应用程序中并重新构建它。

【讨论】:

以上是关于控制台程序可以使用MFC里面的一些函数和类吗的主要内容,如果未能解决你的问题,请参考以下文章

C#控制台应用程序中一个项目能运行两个类吗

MFC程序显示控制台输出

我们如何从 MFC 应用程序向控制台屏幕写入一些语句?

从 Win32 控制台应用程序驱动 MFC 应用程序

在mfc下怎么调用一个win32控制台?并且自动向该控制台输入一段信息?

如何从 C++/MFC 程序中获取控制台窗口? [复制]