Где я могу найти программы для практики Си и ассемблера (IA32)? - PullRequest
2 голосов
/ 01 сентября 2010

Я изучил C и Assembly (IA32) в Linux, и я также буду изучать еще несколько языков в этом году.Я хочу, чтобы мои основы были сильными, и для этого мне нужны несколько советов от вас, ребята, например: где я найду программы для практики? , чтобы я их решал и получал все больше и больше опыта.

Любые хорошие веб-ссылки , которые помогли бы начинающему программисту улучшить и быть уверенными в языке, который он / она изучает.

Я пытаюсь найти вопросы на сайтах, но они тожеслишком сложно или не предназначено для начинающих. Мне нужен какой-то источник, который помог бы мне быть более ясным в фундаментальном и концептуальном плане .

Спасибо.

Ответы [ 4 ]

6 голосов
/ 01 сентября 2010

Вы можете начать с кодирования некоторых простых задач Project Euler в C, а затем перевести их в сборку.По мере продвижения проблемы становятся все более сложными.

4 голосов
/ 01 сентября 2010

На этой странице есть онлайновая версия Рандалла Хайда "Программирование на языке ассемблера", но без лабораторных упражнений.Однако он по-прежнему включает в себя множество фрагментов кода, и Рэнди использует высокоуровневый подход к программированию на ассемблере с использованием макросов, который будет знаком программисту на Си.(Я работал с Рэнди почти 30 лет назад, занимаясь программированием на ассемблере на Apple II).

2 голосов
/ 01 сентября 2010

Это зависит от того, насколько вы «новичок», но я предложу Онлайн-судью UVa .

1 голос
/ 01 сентября 2010

Одна вещь, которую вы можете сделать (рекомендовано мне опытным программистом), это прочитать действительно хороший код.Ядро Linux написано на C. Вы можете перейти к http://www.oldlinux.org/, чтобы изучить первую версию, которая, вероятно, будет проще, чем текущая.Кроме того, я бы порекомендовал найти проект с открытым исходным кодом для C, который вас интересует.Работа над реальным проектом, который вас интересует, станет лучшим способом развития ваших навыков.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...