2016-12-11 4 views
0

Я изучал c и структуры данных в течение довольно долгого времени, и я хотел посмотреть, могу ли я применить то, что я узнал. Я немного искал и узнал, что могу начать с использования linux, но, прежде чем я смог это сделать, мне показалось, что я проверил и, возможно, немного потрудился с кодом для базовых команд unix, таких как «cat». Я был в состоянии понять, что часть кода могла пытаться сделать, но я не мог понять весь код как единицу.

Например, в коде «cat» указатель на выходной буфер и входной буфер объявлен и соответствующим образом используется, что я мог бы понять. То, что я не мог понять, является частью кода вроде io_blksize (stat_buf), который не имеет никакого описания, что он делает. Или как два указателя, объявленные как указатели на входные и выходные буферы, фактически соответствуют входным и выходным буферам?

Итак, мой вопрос: как я подхожу к этому типу кода, как я могу понять то, что не имеет описания для того, что он делает (в приведенном выше примере), и как я могу сделать и реализовать изменения в коде, так что что я могу увидеть изменения, когда я запускаю команду?
(Я бы очень хотел получить ссылки или темы, с которыми я должен начать, чтобы я мог связать то, что я узнал, чтобы изменить код команды. Я также извиняюсь, если вопрос заключается в абстрактном.)Начало работы с командами unix для кодирования

ответ

0

Это немного субъективного вопроса, поэтому мои ответы, конечно, будут только моим мнением.

Хорошее место для начала, когда вы сталкиваетесь с чем-то, что вы не узнаете при чтении исходного кода, являются файлами. Каждая функция, как правило, имеет справочную страницу, например. man 2 read или man 3 printf. Кроме того, я чувствую, что, возможно, вы должны получить больше фундамента в Unix, прежде чем пытаться прочитать прямой исходный код, хорошая книга - это Advanced Programming in the Unix Environment. Я работал над этим сам, и я нахожу, что мои знания в Unix значительно улучшаются.

Только мои два цента.

+0

Да, я взглянул на книгу, и кажется, что она показывает много корреляции. Я думаю, это определенно поможет мне. Спасибо. –

 Смежные вопросы

  • Нет связанных вопросов^_^