我的win32程序在一个主文件中变得有点大。我的计划是将代码分成三个文件,一个用于procs的主文件,一个用于处理文件的文件和一个用于处理字体的文件。我在分割文件时遇到了麻烦,我不知道我应该如何包含它们以便它们作为一个主文件。例如我的一些主要内容:
#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
我应该如何分隔这些文件?我之前尝试过,但我无法绕过所有文件来访问主电源变量。谁能给我一些指示?谢谢!
答案 0 :(得分:1)
对于全局变量(非常量),您应该放入头文件:
extern HWND g_hMDIClient = NULL;
extern HWND g_hMainWindow = NULL;
您将非extern版本保留在主cpp文件中(它可以在任何文件中,但您也可以不移动它们)。只需将常量和宏移动到头文件中,编译器就可以自己解决它们。最后,在所有cpp文件中包含此头文件。
对于函数,您需要头文件中的声明和代码文件中的定义。
标题文件:
void myFunc();
代码文件:
void myFunc()
{
// Do something
}