Си Rtl ?

Тема в разделе "WASM.ZEN", создана пользователем DevilDevil, 4 апр 2008.

  1. DevilDevil

    DevilDevil Member

    Публикаций:
    0
    Регистрация:
    14 ноя 2007
    Сообщения:
    101
    Хитрым образом хочу заюзать кучу Си obj-ей в Delphi проекте, не используя dll.

    Сишные модули компилирую VC++, полученные obj-ы обрабатываю утилитами coff2omf и omf2d , стараюсь компилировать в Delphi.

    Естественно возникают проблемы с сишным Rtl. Если с malloc/calloc/realloc/free/memset/memmove особых проблем не возникает, то вот с другими функциями дейстительно беда: _allmul/_alldiv/_allshl/_allshr/_ftol/floor/ceil/_CIpow/_CIacos/ldexp/frexp...

    Мой вопрос такой. Нет ли какого-нибудь obj-а, который содержал бы хотя бы часть Си-шного Rtl ?

    Заранее спасибо.

    ADDED:

    ну или какой-нибудь асм-код.

    слышал, что в Windows-овой dll имеются такие функции... но тут нужно получить платформонезависимость, - модуль потом будет юзаться в FreePascal.
     
  2. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    lib.exe /nologo /list:objs.lst libc.lib
    for /f %m in (objs.lst) do lib.exe /extract:%m
     
  3. DevilDevil

    DevilDevil Member

    Публикаций:
    0
    Регистрация:
    14 ноя 2007
    Сообщения:
    101
    IceStudent,

    1) ой-ой, это где всё ?
    2) в Delphi нельзя заюзать lib
    3) плиз, скиньте мне asm+obj на ящик devil_home[]mail.ru очень прошу :) Асм-компилятора нет, буду ипользовать obj и посматривать в сорсы.

    Заранее спасибо
     
  4. reverser

    reverser New Member

    Публикаций:
    0
    Регистрация:
    27 янв 2004
    Сообщения:
    615
    "C:\Program Files\Microsoft Visual Studio 8\VC\crt\src\intel\dll_lib\llmul.obj" и т.д. Уровнем выше - ассемблерные исходники.
     
  5. DevilDevil

    DevilDevil Member

    Публикаций:
    0
    Регистрация:
    14 ноя 2007
    Сообщения:
    101
    reverser, у меня к сожалению, версия старовата.

    не скинешь на e-mail.
     
  6. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    DevilDevil
    1) в командной строке
    2) ты в итоге получаешь кучку obj'ей.
     
  7. DevilDevil

    DevilDevil Member

    Публикаций:
    0
    Регистрация:
    14 ноя 2007
    Сообщения:
    101
    IceStudent, не находит mspdb60.dll
    плиз, скинь что можешь по почте. очень прошу :)
     
  8. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    нужно правильно прописать пути. либо из студии запустить command line
     
  9. DevilDevil

    DevilDevil Member

    Публикаций:
    0
    Регистрация:
    14 ноя 2007
    Сообщения:
    101
    Great, а где в студии command line ?
    там так много obj-ей ?
    пожалуууйста, вышлите мне по почте (желательно с сорсами)
     
  10. DevilDevil

    DevilDevil Member

    Публикаций:
    0
    Регистрация:
    14 ноя 2007
    Сообщения:
    101
    ну кто-нибудь, ну спасите меня :)
     
  11. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    Судя по сообщению
    у тебя 6-ка.
    Для нее подходит только извлечение obj из либы.
    mspdb60.dll находится вместе с link.exe А командная строка есть в любом
    файл-менджере, Пуск->Выполнить наконец или вызвать cmd
    В 8-ке кстати тоже либы, т.ч. придется извлекать... Но я сомневаюсь, что
    obj от 6-ки будут работать с rtl от 8-ки. asm у меня не много - держи.
     
  12. _basmp_

    _basmp_ New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2005
    Сообщения:
    2.939
    а зачем вам юзать VC? У openwatcom С и С++ стандартный вывод в omf.
    openwatcom опенсорцовый полностью, легко собирается и там вы найдете все нужные вам функции.
    openwatcom платформонезависимый и по системам (винь,линь) и по железу.