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

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

  1. Avoidik

    Avoidik New Member

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

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

    Asterix New Member

    Публикаций:
    0
    используй статическую линковку
     
  3. Avoidik

    Avoidik New Member

    Публикаций:
    0
    требуется вообще избавиться от crt - не использовать вовсе и перейти на голый winapi
     
  4. Asterix

    Asterix New Member

    Публикаций:
    0
    смотри исходники и переписывай
     
  5. Quantum

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

    Публикаций:
    0
    open -> CreateFile
    Только параметры немного другие.
     
  6. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Avoidik
    Так в чём проблема?
     
  7. Bohdan200

    Bohdan200 New Member

    Публикаций:
    0
  8. Avoidik

    Avoidik New Member

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

    IceStudent Active Member

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

    tmp_name_0001 New Member

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

    Avoidik New Member

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

    Avoidik New Member

    Публикаций:
    0
    или я туплю?
     
  13. IceStudent

    IceStudent Active Member

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

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

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

    Ustus New Member

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

    Avoidik New Member

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

    Avoidik New Member

    Публикаций:
    0
    вообщем вот

    http://slil.ru/23167488