吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 870|回复: 6
收起左侧

[已解决] VS中新建项目的问题

[复制链接]
朱朱你堕落了 发表于 2024-9-6 23:31
40吾爱币
如下图:


选的应用程序类似是DLL,添加公共头文件用于MFC(注:我都不知道这句话什么意思)
反正生成出来的并不是DllMain入口函数,怎么出来的类似于控制台main函数这种,怎么回事?
[C++] 纯文本查看 复制代码
#include "stdafx.h"
#include "222.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#endif


// 唯一的应用程序对象

CWinApp theApp;

using namespace std;

int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
	int nRetCode = 0;

	// 初始化 MFC 并在失败时显示错误
	if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
	{
		// TODO: 更改错误代码以符合您的需要
		_tprintf(_T("错误: MFC 初始化失败\n"));
		nRetCode = 1;
	}
	else
	{
		// TODO: 在此处为应用程序的行为编写代码。
	}

	return nRetCode;
}


这种的工程到底用到什么情况下?求大佬解惑。

最佳答案

查看完整内容

正确姿势是使用mfc dll,mfc会内部接管dllmain,不需要用户编写代码,只需要编写导出函数和在初始化函数中填写相应代码就可以。个人理解mfc主要是用于dll生成窗体,不需要的话,不用也行,CString这类好像可以直接包含头文件就能用

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

苏紫方璇 发表于 2024-9-6 23:31
正确姿势是使用mfc dll,mfc会内部接管dllmain,不需要用户编写代码,只需要编写导出函数和在初始化函数中填写相应代码就可以。个人理解mfc主要是用于dll生成窗体,不需要的话,不用也行,CString这类好像可以直接包含头文件就能用
flyer_2001 发表于 2024-9-7 00:33
这个tmain没什么用,可以删除,或者可以用来做调用测试用例。
如果需要在DLL_PROCESS_ATTACH/DETACH…做处理,需要手动添加DllMain,如果不需要,也可以不用这个函数,也就是说DllMain不是必须的
lyrong2008 发表于 2024-9-7 12:19
选择mfc,能支持的API类型更多,比如弹出消息,可以用AfxMessageBox,文本类型可以用CSstring类型。

而win32 的DLL 就不支持这些类型了。

知道的不多,见笑了!

点评

那意思是我要把上面默认生成的删除掉,自己添加DllMain函数?  详情 回复 发表于 2024-9-9 09:50
 楼主| 朱朱你堕落了 发表于 2024-9-9 09:50
lyrong2008 发表于 2024-9-7 12:19
选择mfc,能支持的API类型更多,比如弹出消息,可以用AfxMessageBox,文本类型可以用CSstring类型。

而w ...

那意思是我要把上面默认生成的删除掉,自己添加DllMain函数?
evea 发表于 2024-9-9 10:49
[C++] 纯文本查看 复制代码
BOOL APIENTRY DllMain( HMODULE hModule,
                       DWORD  ul_reason_for_call,
                       LPVOID lpReserved
                     )
{
    switch (ul_reason_for_call)
    {
    case DLL_PROCESS_ATTACH:
    case DLL_THREAD_ATTACH:
    case DLL_THREAD_DETACH:
    case DLL_PROCESS_DETACH:
        break;
    }
    return TRUE;
}



这种吗?  把mfc那个勾取消就好呀

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
朱朱你堕落了 + 1 + 1 兄弟,注意审题。

查看全部评分

yes2 发表于 2024-9-9 14:54
朱朱你堕落了 发表于 2024-9-9 09:50
那意思是我要把上面默认生成的删除掉,自己添加DllMain函数?

我感觉是的。我刚才试了一下,release编译的话main函数根本没有编译进去,直接被优化掉了,说明没有引用的地方。
正确的方式可能是选MFC向导而不是win32向导
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-15 02:46

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表