Ответы пользователя по тегу C
  • Существуют ли IDE для C под Linux с полноценным встраиванием Vim?

    Ну так (почти?) любую IDE можно настроить на использование внешнего редактора вместо встроенного. Открываться такой редактор, правда, будет в отдельном окне/консоли. Остаётся лишь вопрос синхронизации с IDE - чтобы IDE подхватывала изменения в сохранённом файле как можно быстрее. В Eclipse, например, есть разные способы синхронизации. Можно поиграться. Ну и Eclipse CDT - пожалуй одна из лучших сред разработки для C под Linux. Возможно, скоро Intellij подтянется с давно обещанным IDE для C/C++.

    Правда полезность такого подхода сомнительна. Многие возможности IDE напрямую завязаны на встроенный редактор и без него просто бесполезны.
    Ответ написан
    Комментировать
  • Предсказание переходов

    В GCC есть расширение для этого. Называется __builtin_expect.

    Пример использования:
    if (__builtin_expect (ptr != NULL, 1))
        foo (*ptr);
    
    Ответ написан
    2 комментария
  • Программирование com-портов. Изменение буфера r/w FIFO?

    Мда, а размер буфера PureJavaComm не устанавливает.
    Ответ написан
    Комментировать
  • Программирование com-портов. Изменение буфера r/w FIFO?

    В коде драйверов COM-портов для Java, например в PureJavaComm, встречал очень простой способ: смотрим скорость передачи и делим на неё размер данных. Получаем время, которое нужно подождать до завершения передачи.

    rs232 ну очень примитивный протокол. Передача идёт постоянно, с одной и той же скоростью, пока в буфере есть данные. И не важно, подключено ли к порту устройство, которое эти данные получает. Способа определить наличие устройства нет.

    Ну а размер буфера указать можно, так же как и и узнать переданы ли все данные из буфера. Сказать какие ioctl использовать, к сожалению, не могу. Но разобраться довольно легко. Для примера, как это делается, можно заглянуть в код PureJavaComm — там есть соответствующие вызовы.
    Ответ написан