gpt4 book ai didi

c++ - 一个不同的 CPP 文件如何能够通过定义它来使用另一个文件的功能? C++

转载 作者:行者123 更新时间:2023-11-30 03:26:31 24 4
gpt4 key购买 nike

这是一个非常简单的解释,我有2个cpp文件:

dllmain.cpp

#include "stdafx.h"

DWORD WINAPI Entry();

extern "C" __declspec(dllexport) int WINAPI DllMain(HINSTANCE hInstDll,
DWORD fdwReason, LPVOID lpvReserved)
{
switch (fdwReason)
{
case DLL_PROCESS_ATTACH:
{
AllocConsole();
freopen("CONIN$", "r", stdin);
freopen("CONOUT$", "w", stdout);

CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)&Entry, NULL, NULL, NULL);
break;
}
}

return 1;
}

映射.cpp

#include "stdafx.h"
DWORD WINAPI Entry()
{

}

现在据我了解,我需要定义一个头文件并包含方法的定义,然后将该文件包含在 dllmain.cpp 中。然而这个例子工作得很好。

那么,dllmain.cpp 是如何通过定义 DWORD WINAPI Entry(); 的呢?知道Mapping.cpp里面的方法实现吗?

最佳答案

重要的是你有一个函数 Entry() 的声明,你用下面一行来完成它:

DWORD WINAPI Entry();

在文件中。

头文件只是一种方便的方式,可以避免在每个使用 Entry() 的程序中都编写相同的东西。当您#include 一个头文件时,它的作用就好像该文件的内容已插入到该源文件中一样。

头文件不会告诉编译器函数实际定义的位置。这是通过链接 Mapping.o 完成的,它是在编译 Mapping.cpp 时创建的。

关于c++ - 一个不同的 CPP 文件如何能够通过定义它来使用另一个文件的功能? C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48290487/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com