Начало работы в C - PullRequest
       43

Начало работы в C

7 голосов
/ 13 сентября 2009

Я знаю, что есть много учебных пособий для начала работы с C. Однако мне сложно применить полученные знания. Я всегда начинал с языков, когда писал сценарии. Конечно, C не является языком сценариев.

Мой вопрос не столько в изучении C, сколько в том, как начать применять C. Отлично, я могу написать преобразователь температуры или текстовый рпг. Возможно, потому что в python я просто пишу код в somefile.py и chmod + x somefile.py && somefile.py. У меня на самом деле нет эквивалентного процесса для C. Каждый раз, когда я читаю о C, это другой процесс компиляции с разными флагами. Может кто-то просто дать мне какое-то определенное руководство по лучшим способам применения C, когда вы уже работаете с высокоуровневыми динамическими языками сценариев?

Btw. .. Я спрашиваю о C, а не C ++.

Я обычно использую OpenSuse 11 или Ubuntu 9.04. «Какой компилятор я использую» является частью проблемы. В python нет выбора, просто «python somefile.py» так же, как с php или ruby. Я не знал, что были варианты.

Ответы [ 6 ]

5 голосов
/ 13 сентября 2009

запись w.c

#include <stdio.h>

int main(int argc, char *argv[]) {
    int i;
    for (i = 0; i < argc; ++i) {
        printf("Param %d is '%s'\n", i, argv[i]);
    }
    return 0;
}

и скомпилируйте с

gcc -Wall -o w w.c

пробег

./w
4 голосов
/ 13 сентября 2009

Как написал rogeriopvl в комментарии, процесс компиляции действительно прост. Просто напишите код в somefile.c и

gcc -o somefile somefile.c && ./somefile

(если вы используете GCC, и если нет, ваш выбранный компилятор, вероятно, может быть вызван аналогично) Если / пока вы не начнете заниматься более сложными проектами, это едва ли сложнее, чем язык сценариев. (Ну ... ладно, вам может понадобиться связать некоторые библиотеки, как только вы выйдете за рамки основ. Но все же, не так уж и много.)

На самом деле я написал небольшой сценарий оболочки, который позволяет мне использовать C в качестве языка сценариев. Но процесс его настройки немного сложнее, чем то, что вы, возможно, захотите получить на этом этапе - проще каждый раз запускать компилятор. Тем не менее, если вам интересно, я могу посмотреть направления (для Linux) и разместить их здесь.

2 голосов
/ 13 сентября 2009

Я задавал себе этот вопрос, когда я изучал C. Проблема здесь, если я могу сказать, что это проблема, состоит в том, что C может использоваться в широком диапазоне приложений и в широком диапазоне сред, которые свои собственные IDE или компиляторы и библиотеки. Некоторые примеры, где вы можете использовать C для реального персонала.

Встроенное программное обеспечение. В этом случае вы, вероятно, будете использовать какую-то библиотеку.

Сетевое программирование (взгляните на эту книгу .

Разработка драйвера устройства.

Библиотеки (как для Linux / Windows, так и для других ОС)

Ну, этот список бесконечен.

О, не знаю, помогу ли я вам с этим вопросом. Если вы дадите более подробную информацию о том, что вас интересует, может быть полезно

Удачи

2 голосов
/ 13 сентября 2009

C код должен быть скомпилирован перед запуском программы. Точный процесс зависит от платформы и компилятора, над которым вы работаете.

По большей части, использование IDE (например, Visual studio , Eclipse , MonoDevelop и нескольких других) сделает неприятную работу для вас, так что вам просто нужно нажать кнопку или щелкнуть значок. Скачать один из этих

0 голосов
/ 13 сентября 2009

Я сейчас много работаю с C с модулями ядра Linux и относительно новичок в C. Я нашел это вознаграждение, которое, я думаю, важно для такого рода хобби 'преобразователь температуры или текстовое программирование типа rpg '.

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

0 голосов
/ 13 сентября 2009

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

Это дает бонус за то, что вы делаете то, что вам интересно, и в то же время делаете что-то, что непосредственно влияет на это. Это должно дать мотивацию продолжать процесс обучения.

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