VS2022的MFC中关联使用控制台并用printf输出调试信息

前言

MFC一般在调试的时候,可以在IDE中方便的看到调试的信息。但是,有时候运行的时候也要看调试的信息怎么办?最好如同在Console(控制台)程序中输出一般的方便,可以么?可以的。

一、设置

1.1、加上lib的引用

首先在主体.cpp的开头加上这句:

#pragma comment( linker, "/subsystem:console /entry:wWinMainCRTStartup"

)

如图:

1.2、在OninitDialog()中加入如下语句

// TODO: 在此添加额外的初始化代码

AllocConsole();

如图:

1.3、在OnClose()中进行释放

// TODO: 在此添加消息处理程序代码和/或调用默认值

FreeConsole();

如图:

二、运行的效果

点击按钮,就可以看到调试的信息:

按钮中的代码:

cpp 复制代码
void CmfcstockanaDlg::OnBnClickedButton1()
{
	
	 //创建一个2x3的tensor,初始化为全1
	torch::Tensor tensor = torch::ones({ 2, 3 });

	//打印tensor
	std::cout << "Original Tensor:\n" << tensor << std::endl;

	//对tensor执行加法操作
	torch::Tensor add_result = tensor + torch::ones({ 2, 3 });

	//打印结果
	std::cout << "After adding ones:\n" << add_result << std::endl;

}

对应的截图: