замена crt ф-ий на api

Тема в разделе "WASM.WIN32", создана пользователем Avoidik, 20 сен 2006.

  1. Avoidik

    Avoidik New Member

    Публикаций:
    0
    Регистрация:
    29 дек 2004
    Сообщения:
    288
    Адрес:
    Russia
    всем привет, вообщем пишу небольшой проектик, требуется аналог ф-ии _open на win32 (чистый си или асм), цель - избавиться от crt

    ps. буду очень благодарен за код или просто информацию по поводу
     
  2. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    используй статическую линковку
     
  3. Avoidik

    Avoidik New Member

    Публикаций:
    0
    Регистрация:
    29 дек 2004
    Сообщения:
    288
    Адрес:
    Russia
    требуется вообще избавиться от crt - не использовать вовсе и перейти на голый winapi
     
  4. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    смотри исходники и переписывай
     
  5. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    open -> CreateFile
    Только параметры немного другие.
     
  6. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    Avoidik
    Так в чём проблема?
     
  7. Bohdan200

    Bohdan200 New Member

    Публикаций:
    0
    Регистрация:
    13 сен 2005
    Сообщения:
    134
    Адрес:
    Lviv
  8. Avoidik

    Avoidik New Member

    Публикаций:
    0
    Регистрация:
    29 дек 2004
    Сообщения:
    288
    Адрес:
    Russia
    1. проблема в том, что _open возвращает не хэндл файла, а дескриптор
    2. wcrt у меня лежит давно и первым делом я там глянул, но там нет такого
    3. и Питрека тоже нет
     
  9. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    Avoidik
    А чем, по-твоему, отличается хэндл от дескриптора?
     
  10. tmp_name_0001

    tmp_name_0001 New Member

    Публикаций:
    0
    Регистрация:
    26 июл 2006
    Сообщения:
    85
    Всю жизнь читал книги и считал что хэндл = дескриптор ... и мне... интересно = )
     
  11. Avoidik

    Avoidik New Member

    Публикаций:
    0
    Регистрация:
    29 дек 2004
    Сообщения:
    288
    Адрес:
    Russia
    IceStudent, открой файл через _open и поставь бряк на createfilea и посмотри что возвращает ф-ия _open и что возвращает ф-ия createfilea - будет заметно что _open не возвращает хендл на открытый файл, а возвращает уникальный идентификатор (дескриптор)
     
  12. Avoidik

    Avoidik New Member

    Публикаций:
    0
    Регистрация:
    29 дек 2004
    Сообщения:
    288
    Адрес:
    Russia
    или я туплю?
     
  13. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    Avoidik
    Эх.. Ты б ещё про TFile вспомнил.
    Тебе что сказали? Избавиться от crt. Вот и избавься от этого; используй чистые WinAPI-вызовы и забудь о FILE*, fstream и прочей гадости. HANDLE отныне твой брат.
     
  14. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    Avoidik
    А зачем нужен именно дескриптор, который возвращает _open, вместо родного хендла?
     
  15. Ustus

    Ustus New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2005
    Сообщения:
    834
    Адрес:
    Харьков
    Как зачем? Чтобы передать в _close!
    Шучу :)
    Avoidik
    Дескриптор не нужен. В любом случае придется переписывать всю работу с файлом на API. Все функции API работают через handle.
     
  16. Avoidik

    Avoidik New Member

    Публикаций:
    0
    Регистрация:
    29 дек 2004
    Сообщения:
    288
    Адрес:
    Russia
    приведу в порядок исходник и выложу с комментариями того, чего мне надо сделать
     
  17. Avoidik

    Avoidik New Member

    Публикаций:
    0
    Регистрация:
    29 дек 2004
    Сообщения:
    288
    Адрес:
    Russia
    вообщем вот

    http://slil.ru/23167488