gpt4 book ai didi

winapi - 将Win32程序拆分为多个文件

转载 作者:行者123 更新时间:2023-12-02 09:00:22 25 4
gpt4 key购买 nike

我的 win32 程序变得有点大,无法保存在一个主文件中。我的计划是将代码分成三个文件,一个用于过程的主文件,一个用于处理文件的文件和一个用于处理字体的文件。不过,我在分割文件时遇到了麻烦,我不知道应该如何包含它们才能使它们充当一个主文件。例如我的一些主要内容:

    #include <iostream>
#include <windows.h>
#include "resource.h"
#include <commctrl.h>
#include "hideconsole.h"

#define IDC_MAIN_MDI 101
#define IDC_MAIN_TOOL 102
#define IDC_MAIN_STATUS 103

#define IDC_CHILD_EDIT 101

#define ID_MDI_FIRSTCHILD 50000

const char szClassName[] = "MainClass"; //window class
const char szChildClassName[] = "ChildClass"; //child class

HWND g_hMDIClient = NULL;
HWND g_hMainWindow = NULL;

//functions and procs for windows

我应该如何分离这些文件?我之前尝试过,但我无法让所有文件都能访问主电源变量。有人能给我一些指点吗?谢谢!

最佳答案

对于全局变量(非常量),您应该放入头文件中:

extern HWND g_hMDIClient = NULL;
extern HWND g_hMainWindow = NULL;

您将把非外部版本保留在您的主 cpp 文件中(它可以位于任何文件中,但您最好不要移动它们)。只需将常量和宏移至头文件中,编译器就可以自行计算出它们。最后,将此头文件包含在您的所有 cpp 文件中。

对于函数,您需要头文件中的声明和代码文件中的定义。

头文件:

void myFunc();

代码文件:

void myFunc()
{
// Do something
}

关于winapi - 将Win32程序拆分为多个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12763233/

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