Форум программистов, компьютерный форум CyberForum.ru

Многократно объявленый символ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ сформировать словарь, на основе хеш-таблицы http://www.cyberforum.ru/cpp-beginners/thread1042241.html
Требуется считать из входного текстового файла “words.txt” строки, представляющие собой набор символов латинского алфавита, и сформировать из них словарь, на основе хеш-таблицы. Далее необходимо определить, сколько раз каждое такое слово встречается во входном текстовом файле “input.txt”. Требуется предусмотреть вариант использования хеш-таблиц со списком и с открытой адресацией. При решении...
C++ определить диаметр пространства точек и найти наименее удаленные друг от друга считая что элементы матрицы А с размерами n на m являются координаты n точек m мерного евклидова пространства определить диаметр этого пространства точек и найти наименее удаленные друг от друга.(P.S не понял что и как евклидово пространство) помоем это пространство проеоборазовано как то в матрицу и там есть мнимые единицы но чет ступр вот допустим нашли растояние точек но помоему неправильно... http://www.cyberforum.ru/cpp-beginners/thread1042239.html
Максимальное число из комбинации цифр C++
Ребята помогите пожалуйста написать код к программе с комментариями в Visual Studio.Буду Очень признательна:thank_you: Условие:Пользователь вводит с клавиатуры натуральное число 0<n<10000. Проверить корректность ввода,составить и вывести на экран число из цифр введенного числа n,так,чтобы выведенное число оказалось максимальным из возможных. Например:Если пользователь ввёл число 195, то...
написать программу, которая будет переворачивать введенное предложение C++
Добрый день, форумчане! Совсем недавно начал программировать на спп, и тут появились некоторые трудности со строками. Задание такое: нужно написать программу, которая будет переворачивать введенное предложение. Пример: Шла Саша по шоссе - шоссе по Саша Шла. Пожелание тем, кто откликнется мне помочь - напишите пожалуйста код без использования функций, максимум стрлен, все остальное держится на...
C++ Циклы. Строковый тип http://www.cyberforum.ru/cpp-beginners/thread1042224.html
В строке, состоящей из слов и знаков препинания (пробел . : , ! ?-;), найти слова, состоящие ровно из k (задано) букв.
 

Показать сообщение отдельно
Giperion
1 / 1 / 1
Регистрация: 14.12.2013
Сообщений: 12

Многократно объявленый символ - C++

15.12.2013, 14:34. Просмотров 275. Ответов 4
Метки (Все метки)

Здравствуй CyberForum! У меня проблема с использованием нескольких cpp файлов.
Есть три файла: core.cpp, core.h и SThread.cpp. При этом Сore.cpp и SThread.cpp используют глобальные переменные и прототипы объявленные в core.h. Вот содержание core.h:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#ifndef __ClearSky
#define __ClearSky
 
 
#include <string>
#include <Windows.h>
#include <windowsx.h>
#include <fstream>
#include <gl\GL.h>
#include <strsafe.h>
 
//Синхронизирует работу потоков
HANDLE EventHandler;
 
//Прототипы
void DrawMarkerOnPosition(int x, int y, HWND hwnd);
BOOL WINAPI InitThreads();
void WINAPI CloseThreads();
DWORD SoundThreadEntryPoint();
void ShowMessage(int x, int y, LPWSTR text);
void ShowError();
DWORD DoTestThread();
void DrawOnDesktop();
//Тут глобальные переменные
CRITICAL_SECTION SYNC_stuff;
bool bDraw;
bool bUpdate;
#endif
А вот пример инклуда, но тут все просто. Файл SThread.cpp :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#include "Core.h"
 
 
DWORD SoundThreadEntryPoint()
{
SoundThreadStart:
    DWORD result = WaitForSingleObject(EventHandler, INFINITE);
    if (result == 0xffffffff) ShowError();
    //Start load DLL test code
 
    HMODULE TestDLLModule = GetModuleHandle(L"binkw32");
    if (TestDLLModule == NULL)
    {
        ShowMessage(100, 100, L"Module not loaded yet, try to load...");
        ResetEvent(EventHandler);
        TestDLLModule = LoadLibrary(L"binkw32");
        if (TestDLLModule == NULL)
        {
            ShowError();
        }
        else
        {
            ShowMessage(100, 150, L"Module load complete");
        }
        goto SoundThreadStart;
    }
    else
    {
        ResetEvent(EventHandler);
        ShowMessage(100, 200, L"Module already loaded, calling function!");
        FARPROC RADTimerRead = GetProcAddress(TestDLLModule, "_RADTimerRead@0");
        if (RADTimerRead == NULL)
        {
            ShowError();
        }
        LPWSTR message = new WCHAR[30];
        while (true)
        {
            EnterCriticalSection(&SYNC_stuff);
            if (bUpdate == false)
            {
                LeaveCriticalSection(&SYNC_stuff);
                break;
            }
            LeaveCriticalSection(&SYNC_stuff);
            int FinalResult = RADTimerRead();
            wsprintf(message, L"Returning value is: %d", FinalResult);
            ShowMessage(100, 250, message);
            Sleep(5);
        }
        delete[] message;
        goto SoundThreadStart;
    }
    return 0;
}
Файл core.cpp очень большой, и там такая же строка как и в SThread.cpp в начале .
Компилятор, вернее, линковщик ругается почему-то конкретно на глобальные переменные, объявленные в core.h.
Если core.cpp и SThread.cpp объединить в один файл, то все работает, но получается сплошная куча кода -_-.
Помогите пожалуйста!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru