10 Способов настройки кода:: Блоки

10 Способов настройки кода:: Блоки - манекены

Код:: Блоки поставляются с настройками по умолчанию, наиболее естественными для большинства приложений на C ++; однако, поскольку вы начинаете тратить все больше времени на окружающую среду, вы можете обнаружить, что Code:: Blocks может быть более дружелюбным местом с несколькими настройками.

Использовать символ табуляции

Или, более конкретно, не использовать символ табуляции. Этот параметр не имеет никакого значения, если вы работаете над проектом, в котором каждый всегда будет использовать Code:: Blocks. Однако проблема с символами табуляции заключается в том, что разные редакторы склонны интерпретировать вкладки по-разному. Некоторые редакторы перемещают курсор на следующую вкладку, некоторые редакторы перемещают курсор над некоторым количеством символов, и не все редакторы соглашаются о том, сколько символов выделяется для вкладки. К счастью, все редакторы интерпретируют пробелы одинаково, поэтому гораздо безопаснее сообщать Code:: Blocks editor всегда использовать пробелы и никогда не сохранять вкладки в исходных файлах. Для этого выберите «Настройки» → «Редактор». Теперь выберите «Общие настройки» слева и убедитесь, что Use TAB Character не установлен.

Подсветка синтаксиса

Подсветка синтаксиса изменяет цвета различных типов структур, используя один цвет для ключевых слов, другой цвет для имен переменных, третий для символьных строк и т. Д. Это очень полезно во избежание глупых ошибок при вводе текста. Например, если вы пропустили ключевое слово, оно не будет отображаться в ключевом ключе. Чтобы включить эту функцию, выберите «Настройки» → «Редактор» → «Подсветка синтаксиса». Обычно код:: Блоки могут указывать язык из расширения имени файла. Если вы используете нестандартное расширение файла, обязательно добавьте его в список, выбрав Filemasks. Кроме того, вы можете настроить параметры подсветки синтаксиса в этом окне, чтобы они соответствовали вашим потребностям. Это особенно важно, если у вас есть какие-то проблемы со зрением, особенно в любой форме слепоты цвета.

Форматировщик исходного кода

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

Принуждение к стандартному форматированию кодирования легко в коде:: Блоки. Его редактор кода переформатирует ваш код, чтобы он соответствовал любому стандарту.

Формат кода:: Блокирует исходный код, который не будет изменять имена переменных. Хуже того, это не коснется вашей программной логики. Поэтому, если вы пишете crummy код, не обвиняйте его в редакторе Code:: Blocks.

Выберите «Настройки» → «Редактор», а затем выберите «Источник форматирования» в списке, который появляется, чтобы получить окно, которое выглядит как Рисунок 1. Окно предварительного просмотра показывает, как ваши варианты будут выглядеть на практике. Этот пример следует стандарту ANSI, но вы можете выбрать один из многих других стандартных стандартов, или вы можете выбрать «Пользовательский», а затем щелкнуть вкладки «Отступы» и «Форматирование», чтобы создать свой собственный стандарт.

Рисунок 1: Настройка форматера исходного кода может помочь вам применить стиль кодирования равномерно.

После того, как вы выбрали стандарт, редактор попытается уговорить вас использовать этот стандарт. Например, если вы введете if (true) и затем нажмите Enter, редактор поместит курсор в отступом ниже , если . Если вы затем введете открытую фигурную скобку, редактор вернет вас, поместите скобу в соответствие с i в , если , перейдите к следующей строке, и отступ.

Еще лучше, как только вы закончите кодирование, если вы выберете Plug In → Formatter Formatter (AStyle), редактор перейдет через ваш модуль и повторно применит текущий стандарт исходного кода. Поэтому, если ваш помощник по работе не был таким же осторожным с его программированием, как и вы, не волноваться - несколько щелчков мыши, и все это очищено.

Аббревиатуры кода

Это странный вариант. Если вы много кодируете (читайте: много ! ), сокращения кода могут сэкономить время, особенно если вы не очень хорошая машинистка. Сокращения кода позволяют ввести некоторое кодовое слово, а затем нажать Ctrl + J и voila, в редакторе Code:: Blocks введите соответствующий предопределенный шаблон, который вы затем заполните.

Например, если вы должны ввести > class в копии кода:: Блоки, а затем введите Ctrl + J, код:: Блоки сначала спросят вас о имени вашего класса, а затем заполнит все, что показано на рисунке 2. < Рисунок 2: Использование аббревиатуры исходного кода может сэкономить вам много времени, если вы не можете его использовать! Код:: Блоки содержат набор сокращений, которые уже определены, но вы можете добавить все необходимые сокращения, выбрав «Настройки» → «Редактор», а затем выбрав «Аббревиатуры» в левой части окна.

Хорошая вещь о сокращении кода заключается в том, что она может сэкономить много набранных файлов и автоматически применяет стандарт форматирования исходного кода, который вы выбираете. Очень быстрая машинистка (или это была бы клавиатура?), Возможно, не слишком сильно удалась из этой функции, но если вы не используете все десять пальцев при вводе или иначе просто медленно на клавиатуре, вы, вероятно, захотите попробовать использовать эту особенность.

Автозаполнение

Код:: У блоков есть эта классная функция, называемая автозаполнением. После того, как вы набрали минимальное количество букв (по умолчанию четыре, но вы это измените), если вы приостановите ввод текста, Code:: Blocks будет искать все, что начинается с этих букв.Таким образом, код:: Блоки могут предвидеть, что именно вы пытаетесь сказать.

Например, в программе Budget5, которая включена в загружаемый материал из «чайников». com, если вы введете

Acco

, а затем приостановите только половину секунды (это не очень длинный!), тогда появится окно, как показано на рисунке 3, которое предлагает только две вещи, которые Code:: Blocks знает о эта программа, начинающаяся с Acco: класс Аккаунт и typedef AccountPtr . Поскольку вы имели в виду Аккаунт , , вы можете просто нажать Enter, и он заполнит это для меня. Рисунок 3: Код:: Блоки обнаруживают только два совпадения для Acco в этой программе. Первый - это то, что я искал. В этом примере вы создаете указатель на

Аккаунт

, называемый pAcc . Когда вы следующий тип pAcc -> , а затем приостановите, код:: Блокирует окно, в котором перечислены общедоступные члены Аккаунт , как показано на рисунке 4. Рисунок 4: С учетом объекта, код:: Блоки будут доступны для доступа к этому объекту. Это интересная функция при обращении к вашим собственным классам. Более того, выбор из списка означает, что вы не вводите имя функции неправильно или неправильно написано.

Эта функция действительно становится интересной, когда вы вводите объект, определенный в библиотеке. Например, если вы введете

cout.

, вы получите список открытых членов, доступных для объекта cout . Это может быть очень полезно, когда у вас нет документации или вы просто не знаете, с чего начать. Включение всех предупреждений Включение всех предупреждений не вызывает затруднений. Ошибки, возникающие во время компиляции, намного легче найти (duh!) И исправить, чем те, которые вы должны искать для себя во время выполнения. Вот почему синтаксис C ++ настолько придирчив - он хочет удостовериться, что вы закодировали именно то, что вы планировали до его ухода, и создаете исполняемый файл, который делает что-то совершенно другое.

Однако есть несколько вещей (на самом деле, совсем немного), что компилятор GNU C ++ будет исправлять и продолжать без комментариев, если вы этого хотите. Например, это не ошибка для определения переменной в функции, а затем ее никогда не использовать. Или поставить возврат в середине функции, чтобы строки кода после возврата никогда не могли быть выполнены. Это не ошибки, но они выглядят очень странно для недоверчивого компилятора.

Компилятор GNU будет генерировать предупреждение, если он увидит любой из этих двух случаев или любой из десятков других подозрительных конструкций в вашем коде. Вы должны пройти каждое предупреждение, чтобы убедиться, что вы понимаете, о чем компилятор жалуется и почему. Постарайтесь устранить проблему, если вы можете ее понять, даже если вы решите не исправлять ее.

Предупреждения обнаружат много ошибок, которые вот-вот станут ошибками в ваших программах.

Создание новой цели сборки

Среда Code:: Blocks позволяет создавать более одной цели сборки. Цель сборки позволяет создать отдельный исполняемый файл с уникальными настройками сборки.Например, вы обязательно захотите включить информацию о символах в исполняемый файл, который вы используете для отладки, но не в том, который вы собираетесь отправлять клиентам (см. Ниже).

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

Чтобы создать новую цель сборки, выберите «Проект» → «Свойства», затем выберите вкладку «Построение целевых объектов». Вы увидите что-то похожее на рисунок 5, в котором показана программа Budget5 с одной целью сборки Debug.

Рисунок 5: Одним из свойств проекта является список целей построения.

Чтобы создать цель сборки релиза, выполните следующие действия:

Выберите цель отладки и нажмите «Дублировать».

Введите имя новой цели сборки, Release.

  1. Измените имя выходного файла на binReleaseBudget5. exe и директорию вывода объектов для objRelease.

  2. Нажмите «Параметры сборки», чтобы задать любые параметры сборки, которые вы хотите для этой конкретной цели, и нажмите «ОК».

  3. Вы обязательно захотите отключить информацию о символах и включить оптимизацию.

  4. Нажмите OK, чтобы сохранить новую цель сборки.

    Чтобы создать конкретную цель сборки, выберите «Сборка → Выбрать цель», а затем выберите из доступных целей. Это направляет Code:: Блоки относительно того, какой исполняемый файл вы хотите создать при выборе сборки.

  5. Project - включить оптимизацию

Вы можете подумать, что каждая строка кода C ++ генерирует набор машинных команд без учета строк кода вокруг него, а в неоптимизированном режиме вы были бы правы. Оптимизатор, встроенный в компилятор GNU, может генерировать более эффективную программу из вашего источника C ++, просматривая несколько строк кода.

Рассмотрим следующий тривиальный и полностью составленный (но умный) пример:

// i ++; MOV EAX, i [BP] INC EAX MOV i [BP], EAX // fn (i) MOV EAX, i [BP] PUSH EAX CALL FN

Здесь строка

 i ++ 

была преобразована в три строки машинного кода: Загрузите значение i

  1. в регистр EAX. Увеличьте регистр EAX. Сохраните добавленное значение обратно в

  2. i

  3. . Следующая строка преобразует вызов fn (i)

    в следующее. Загрузите значение i

  4. в регистр EAX. Вставьте значение EAX в стек. Выполните вызов.

  5. Обратите внимание, что шаг 4 фактически не нужен. Нет необходимости загружать значение

  6. i

в регистр EAX, потому что значение уже существует с шагов 1, 2 и 3. Даже посредственный оптимизатор заметил бы этот факт и не генерировал второй MOV EAX, i [BP] . Это не большая экономия, но этот пример легко понять, даже если это не такое большое улучшение. Для понимания большинства оптимизаций, которые делает компилятор GNU, вам нужно быть настоящим свистом на языке ассемблера. Вы можете включить оптимизацию для конкретной сборки, выбрав «Проект» → «Параметры сборки», затем выбрав «Сборка выпуска» слева и выбрав один из вариантов оптимизации.

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

Вы можете включить эту опцию для всех сборок, выбрав «Настройки» → «Компилятор», затем выбрав вкладку «Компилятор» и выбрав один из случаев «Оптимизировать»; однако это не такая хорошая идея. Не включайте оптимизацию в выпуске Debug проекта, если вы планируете использовать отладчик. Изменения в коде, который выполняет оптимизатор, заставят программу прыгать в полуслучайном режиме, когда вы попытаетесь пройти через нее.

Проект - отключить символы отладчика

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

Чтобы отключить отладочную информацию в целевом элементе сборки релиза, выберите «Проект» → «Параметры сборки», а затем выберите цель «Отпуск» слева. Теперь убедитесь, что параметр «Отладка отладки» [-g] отключен для цели Release. (Сейчас самое подходящее время, чтобы убедиться, что этот параметр включен для цели сборки Debug.)

Проект - настройка аргументов программы

Некоторые программы предназначены для выполнения с аргументами командной строки. Код:: Блоки предоставляют следующий механизм для предоставления аргументов командной строки при выполнении такой программы из среды Code:: Blocks:

Выберите Project → Set Programs 'Arguments.

Выберите цель сборки в верхнем окне.

  1. Введите все, что угодно, в окне «Аргументы программы».

  2. Выберите ОК, чтобы закрыть окно.

  3. Когда вы входите в Start или Run, Code:: Blocks будет предоставлять эти аргументы вашей программе.