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

Помогите выловить баг, сил моих больше нету((( - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ mingw и лицензия http://www.cyberforum.ru/cpp/thread271048.html
Интересует следующий вопрос. Можно ли создавать ПО под лицензией, отличной от GPL (или с закрытым\частично закрытым кодом)? ПО собрано под windows, компилятор mingw (g++), библиотеки libstdc++-6.dll и libgcc_s_dw2-1.dll слинкованы статически
C++ Бесконечные циклы. Довольно часто допускаются ошибки приводящие к бесконечным циклам. Только что такой бесконечный цикл едва не вынудил прервать работу горячей перезагрузкой - компьютер завис почти намертво. Можно ли как нибудь оградить себя от подобных зависаний системы? ОС Ubuntu. Буду благодарен за отклики и предложения. http://www.cyberforum.ru/cpp/thread270757.html
Уч. материалы C++
Плз кинте ссылочки/названия на книги, или еще что нибуть, по темам: с++ и сети, и с++ подключение к др программе(что то типа взаимодействия с др программами). Темы оч расплывчатые, так что кидайте что в голову придет по данным вопросам. :)
C++ Переход из арифметического представления в функциональное представление
Переход из арифметического представления в функциональное представление,нужно написать на C++ Builder 6 ? Я к сожалению не знаю как это делать, а сдать нужно... Заранее спасибо!
C++ подскажите книгу или какой-либо другой источник http://www.cyberforum.ru/cpp/thread270260.html
Здравствуйте.Хочу попробывать,в учебных целях,написать свои методы подсоединения к СУБД(например провайдер как в Ado.Net,метод наподобе Connection и других.Разработать провайдер наподобе ODBC).Понял что для этого нужно подробно изучить работу сетевых протоколов TCP/IP и других протоколов,а также сетевых технологий. Пожалуйста,подскажите какую-нибудь хорошую и доступную литературу для ришения...
C++ Задание с текстовым файлом. помогите, пожалуйста написать прогу. определить баланс скобок ( ) { } в программе на си есть пример с морзе http://zalil.ru/30798712 подробнее

Показать сообщение отдельно
-=ЮрА=-
Заблокирован
Автор FAQ

Помогите выловить баг, сил моих больше нету((( - C++

06.04.2011, 11:06. Просмотров 1236. Ответов 15
Метки (Все метки)

Программа глючит при добавлении больших структурированных каталогов, раньше думал, что ошибка выделения памяти, оказалось нет...Очень надо помощь спеца, СРОЧНО!!!
Конструктор класса
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
CStorage::CStorage()
{
    CoInitialize(NULL);
    GetTempPath(MAX_PATH,szTMP);
    GetShortPathName(szTMP,szTMP,MAX_PATH);
    lpszW = (WCHAR *)malloc(sizeof(WCHAR));
    lpBuf = malloc(sizeof(char));
    //MEM_TOP_DOWN
/*  pDATA = (WIN32_FIND_DATA *)VirtualAlloc
                        (
                            (void *)&pDATA,
                            sizeof(WIN32_FIND_DATA),
                            MEM_COMMIT  ,
                            PAGE_READWRITE
                        );*/
    pDATA = (WIN32_FIND_DATA *)malloc(sizeof(WIN32_FIND_DATA));
    pFile = NULL;
    m_hWnd= NULL;
    nStgElm= 0;
    uStgLen= 0;
    pDATA[nStgElm].dwReserved1 = 0;
    iINDENT = 0;
}
Рекурсивный поиск каталогов, ошибка вылетает в try - catch блоке
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
WIN32_FIND_DATA * CStorage::MkPathList(LPCTSTR szPath)
{
    WIN32_FIND_DATA pFILE_DATA;ULONG uIND = nStgElm; 
    pDATA[nStgElm].dwFileAttributes = GetFileAttributes(szPath);
    pDATA[nStgElm].dwReserved1      = iINDENT;
    HANDLE hFile = CreateFile(
        strcpy(pDATA[nStgElm].cFileName,szPath), 
            GENERIC_READ,
            FILE_SHARE_READ,
            NULL, 
            OPEN_EXISTING, 
            FILE_ATTRIBUTE_NORMAL,
            NULL);
    if(hFile != INVALID_HANDLE_VALUE)
    {
        uStgLen += (pDATA[nStgElm].nFileSizeLow = GetFileSize(hFile,NULL));
        CloseHandle(hFile);
    }
    else
    {
        if(strcmp(pDATA[nStgElm].cFileName,"") == 0)
           strcpy(pDATA[nStgElm].cFileName,"+");
        sprintf(pFILE_DATA.cFileName,"%s\\*.*",pDATA[nStgElm].cFileName);
        hFile = FindFirstFile(pFILE_DATA.cFileName,&pFILE_DATA);
        if(hFile != INVALID_HANDLE_VALUE)
        {
            iINDENT++;
            pDATA[(uIND = nStgElm)].nFileSizeLow = uStgLen;
            pDATA = (WIN32_FIND_DATA *)realloc
                        (
                            (void *)pDATA,
                            sizeof(WIN32_FIND_DATA)*(1 + (nStgElm = nStgElm + 1))
                        );
            do
            {
                if(strcmp(pFILE_DATA.cFileName,".")  == 0 ||
                   strcmp(pFILE_DATA.cFileName,"..") == 0)
                    continue;
                else
                {
                    pFILE_DATA.dwReserved1 = iINDENT;
                    pDATA[nStgElm] = pFILE_DATA;
                    sprintf(pDATA[nStgElm].cFileName,"%s\\%s",szPath,pFILE_DATA.cFileName);
                    if(FILE_ATTRIBUTE_DIRECTORY & pFILE_DATA.dwFileAttributes)
                    try
                    {
                        MkPathList(pDATA[nStgElm].cFileName);
                    }
                    catch(...)
                    {
                        iINDENT--;
                        //MessageBox(m_hWnd,strerror(GetLastError()),"ERROR",MB_OK);
                    }
                    else
                    {
                        uStgLen += pFILE_DATA.nFileSizeLow;
                        pDATA = (WIN32_FIND_DATA *)realloc
                                    (
                                        (void *)pDATA,
                                        sizeof(WIN32_FIND_DATA)*(2 + (nStgElm = nStgElm + 1))
                                    );
                    }
                    PumpMessages(m_hWnd);
                }
            }
            while(FindNextFile(hFile,&pFILE_DATA) != 0);
            FindClose(hFile);
            pDATA[uIND].nFileSizeLow = uStgLen - pDATA[uIND].nFileSizeLow;
            iINDENT--;
        }
    }
    return pDATA;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru