3-х минутная шпаргалка для каждого новичка

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

Итак, дилемма сохраняется, выбирать между двумя. Несмотря на то, что C является предшественником, вот список нескольких важных преимуществ C перед C ++:

  1. Из-за отсутствия объектно-ориентированной парадигмы в C. нет проблем с перегрузкой операторов и перегрузкой функций.
  2. Статическая инициализация безопасна для C, но не для C ++. Кроме того, статические переменные в C должны быть инициализированы значением, известным во время компиляции. Это требование было удалено в C ++, и вы можете инициализировать их с помощью выражений, вычисляемых во время выполнения.
  3. C, безусловно, является наиболее приемлемым языком для программирования ядра и разработки драйверов.
  4. C более дружелюбен к мощным отладчикам командной строки, таким как GDB и DBX.

DBX - DBX - это инструмент для отладки на уровне исходного кода и выполнения программ. Это позволяет вам определить точный оператор, вызвавший дамп ядра, или отслеживать точные операторы, которые программа выполняет в данный момент (более подробную информацию см. Здесь).

GDB - GDB - бесплатное программное обеспечение, выпущенное под Стандартной общественной лицензией GNU (GPL). Он был смоделирован по образцу отладчика DBX, который входил в дистрибутивы Berkeley Unix. (Более подробную информацию можно найти здесь)

5. C поддерживает в стеке массивы переменного размера. Это обеспечивает гораздо более быстрое выделение, чем в куче (функция C99).

IDE - Это программное приложение, которое предоставляет программистам множество возможностей для разработки программного обеспечения. В основном он предоставляет редактор, отладчик и средство автоматизации сборки.

6. C требует меньше поддержки во время выполнения, что делает его более подходящим для низкоуровневых сред, таких как встроенные системы или компоненты ОС.

7. C имеет стабильный ABI (двоичный интерфейс приложения), повышающий совместимость между различными компиляторами.

8. C несколько более эффективен, чем C ++, поскольку не требует поиска по таблице виртуальных методов (VMT).

VMT - . Это механизм, используемый в языках программирования для поддержки динамической диспетчеризации (или привязки метода R untime ).

Несколько удивительных фактов о C:

C имеет лучшую поддержку сообщества как язык расширения для других языков программирования высокого уровня (Perl, Python, Ruby, Node.js, Common Lisp и т. Д.). Замечено, что для программирования ядра C - лучший язык, а также предпочтительнее для открытого исходного кода. Это дает вам лучший контроль над тем, что происходит при выполнении вашего кода. Программы драйверов устройств написаны исключительно на языке C, когда кому-либо требуется очень тесное взаимодействие с аппаратными устройствами. Основные части популярных операционных систем, таких как Windows, UNIX, Linux, по-прежнему написаны на C.

Что вы узнали:

  1. C несколько лучше C ++ по скорости и эффективности.
  2. Кодировать и отлаживать на C проще, чем на C ++.
  3. C по умолчанию используется для программирования на уровне исходного кода, такого как программирование ядра, разработка драйверов и т. д.
  4. Различные отладчики, DBX и GDB.

Следите за Теориями битов для постоянных обновлений.

Команда Cyber ​​Labs (Сайт, Facebook)