Нескромный вопрос: как твои вопросы к низкому уровню относятся? А вообще создаёшь .h с переменными и инклюдишь его в .cpp.
в этач к 1ому посту бросил. тыкните носом, как кошку), что не так. никак, спросить негде "умные люди мало где сидят..." Code (Text): 1>------ Построение начато: проект: CompMan, Конфигурация: Debug x64 ------ 1>Построение начато 14.04.2011 12:43:13. 1>InitializeBuildStatus: 1> Обращение к "x64\Debug\CompMan.unsuccessfulbuild". 1>ClCompile: 1> Для всех выходных данных обновления не требуется. 1>ManifestResourceCompile: 1> Для всех выходных данных обновления не требуется. 1>main.obj : error LNK2005: "void * hInctance" (?hInctance@@3PEAXEA) уже определен в GetProfilDlgProc.obj 1>C:\Users\ker16\Documents\Visual Studio 2010\Projects\CompMan\x64\Debug\CompMan.exe : fatal error LNK1169: обнаружен многократно определенный символ - один или более 1> 1>СБОЙ построения. 1> 1>Затраченное время: 00:00:00.51 ========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
1>------ Построение начато: проект: CompMan, Конфигурация: Debug x64 ------ 1>Построение начато 14.04.2011 12:56:10. 1>InitializeBuildStatus: 1> Обращение к "x64\Debug\CompMan.unsuccessfulbuild". 1>cl : командная строка warning D9030: "/Gm" несовместим с многопроцессорной обработкой; ключ /MP игнорируется 1> GetProfilDlgProc.cpp 1>GetProfilDlgProc.cpp(1): error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "CALLBACK" 1>GetProfilDlgProc.cpp(1): error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию 1>GetProfilDlgProc.cpp(1): error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "GetProfilDlgProc" 1>GetProfilDlgProc.cpp(1): error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию 1>GetProfilDlgProc.cpp(1): error C2065: HWND: необъявленный идентификатор 1>GetProfilDlgProc.cpp(1): error C2146: синтаксическая ошибка: отсутствие ")" перед идентификатором "hWnd" 1>GetProfilDlgProc.cpp(1): error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию 1>GetProfilDlgProc.cpp(1): error C2059: синтаксическая ошибка: ) 1>GetProfilDlgProc.cpp(2): error C2143: синтаксическая ошибка: отсутствие ";" перед "{" 1>GetProfilDlgProc.cpp(2): error C2447: {: отсутствует заголовок функции (возможно, используется формальный список старого типа) 1> Generating Code... 1> Skipping... (no relevant changes detected) 1> main.cpp 1> 1>СБОЙ построения. 1> 1>Затраченное время: 00:00:00.07 ========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ========== теперь он вообще не знает о hInctance)))
Code (Text): GLOBALS.H: ---------- typedef struct tag_GLOBALS { HMODULE Instance; TCHAR WorkDir [MAX_PATH]; HANDLE Allocator; // // etc. // } GLOBALS; #ifdef GLOBALS_DECLARED_HERE GLOBALS glb; #else extern GLOBALS glb; #endif MAIN.CPP: --------- #define GLOBALS_DECLARED_HERE #include "Globals.h" int main () { // // use glb here ... // return 0; } MODULE1.CPP: --------- #include "Globals.h" ... MODULE2.CPP: --------- #include "Globals.h" ... MODULE3.CPP: --------- #include "Globals.h" ... etc.