ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
30 июня
279093 Топик полностью
BaN (19.10.2011 19:10, просмотров: 149) ответил fk0 на Показываю:
Насчет того, что временные буферы лучше размещать в куче - принял к сведению. Вот с этим не до конца понятно: n=TXBUF_SIZE, i=0; while (n) { int r; r=write(uart_fd, &tx_buf[r], n); if (r<0) abort(); n-=r, i+=r; } Здесь, получается, отправляется полностью весь буфер размером TXBUF_SIZE, даже если он не до конца бул заполнен? И для чего используется переменная i не очень понятно. А нельзя сделать, чтобы отправлялось именно столько байт, сколько записалось в буфер, т.е.: while (i) { int r; r=write(uart_fd, &tx_buf[r], i); if (r<0) abort(); i-=r; } Или тут какая-то хитрость еще есть? И еще, по поводу комментариев вида: /* ... */. Одно время пытался перейти на такой вид комментариев, но при отладке это очень мешает, когда нужно закомментировать какой-то кусок кода, а там вот такой комментарий стоит и такие комментарии не поддерживают вложенность, из-за чего приходилось вырезать куски кода, что было неудобно. После этого перешел обратно на //. Или все-таки можно как-то организовать вложенность таких комментариев?