C--

High-level languages programming questions
  • Те программы которые раньше работали с ini, написанные на C--, также перестали работать
    to infinity and beyond
  • В LibINI что то фиксили и что то добавляли. Проверь предыдущие ревизии.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • Спасибо. Кажется я понял возможную причину проблемы.
    to infinity and beyond
  • Версия оказалась не верной. Надо дальше разбираться.
    to infinity and beyond
  • Импорт библиотеки вроде как работает всетаки, покрайней мере программа не вылетает. Но при попытке получить значение ключа программа сразу же вылетает. Причины пока выяснить несмог :(
    to infinity and beyond
  • Для библиотек mike.dld в load_dll2 третий параметр должен быть равен 1, для остальных библиотек 0. Этот параметр указывает нужна ли предварительная инициализация библиотеки.
  • Идиот я. Непосмотрел доску со стороны ядра. После вылета программы, на доске появляются следующие строчки
    Spoiler:

    Code: Select all

    K : Process - forced terminate PID: 00000011 [TMPDISK]
    K : Page fault
    K : EAX : 00000000 EBX : 00000000 ECX : FFFFFFEC
    K : EDX : 00000D63 ESI : 000AFF74 EDI : 000046A1
    K : EBP : 000AFF1D EIP : 00000006 ESP : 000AFEBC
    K : Flags : 00011206 CS : 0000001B (application)
    K : Stack dump:
    K : [ESP+00]: 000AFEC0 [ESP+04]: 000AFF1C [ESP+08]: 70002290
    K : [ESP+12]: 0000010C [ESP+16]: 000046A1 [ESP+20]: 000AFF75
    K : [ESP+24]: 00000010 [ESP+28]: 00000000 [ESP+32]: 00000000
    Пока что мне это ниочем не говорит. Потому надеюсь на вашу помощь.
    to infinity and beyond
  • Предлагаю расставить маркеры - названия процедур выводимые на доску отладки, если в C-- нет способа получить адреса процедур после компиляции.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • Mario_r4 wrote:Предлагаю расставить маркеры - названия процедур выводимые на доску отладки, если в C-- нет способа получить адреса процедур после компиляции.
    Тоесть в каждой процедуре сделать вывод имени процедуры на доску отладки?
    to infinity and beyond
  • punk_joker wrote:Тоесть в каждой процедуре сделать вывод имени процедуры на доску отладки?
    Да, именно так и приходится отлаживать при отсутствии других способов. Иногда это вообще единственный способ разобраться что происходит, например в ядре я иногда такое тоже использую.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • Я и сам так делаю. Проблемный участок локализирован, это строка где происходит попытка получения значения из ini-файла. И код этот раньше работал вроде как. Позже попробую определить после какой ревизии перестало работать.
    to infinity and beyond
  • Разбирался с чтением директории (на примере Eolite). Все вроде понятно. Только как определить, пустая директория или нет?
    to infinity and beyond
  • punk_joker, ну всё правильно, с помощью SysFn70.1:
    http://websvn.kolibrios.org/filedetails.php?repname=Kolibri+OS&path=%2Fkernel%2Ftrunk%2Fdocs%2Fsysfuncr.txt#line-3858 wrote:= Функция 70, подфункция 1 - чтение папки с поддержкой длинных имён. =
    ...................................................................
    * ebx = указатель на информационную структуру
    Формат информационной структуры:
    ...................................................................
    * +16 = +0x10: dword: указатель на буфер, куда будут записаны
    данные, размер буфера должен быть не меньше 32 + [+12]*560 байт
    ...................................................................
    Структура буфера:
    * +0: 32*byte: заголовок
    ...................................................................
    Структура заголовка:
    ...................................................................
    * +8: dword: общее число файлов в папке
    ...................................................................
  • punk_joker
    Как правильно подсказывает 0CodErr - с помощью ф.70.1.
    Добавлю лишь, что для минимизации действий системы и экономии памяти нужно указывать в запросе:

    Code: Select all

    +12 = +0xC: dword: сколько блоков читать
    нулевое количество блоков для считывания. Тогда нужно только 32 байта на саму информационную структуру.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • Who is online

    Users browsing this forum: No registered users and 0 guests