Мануал по codeblocks на русском

Introduction and other things

This document will try to help you get started with the Code::Blocks IDE. (IDE stands for Integrated Development Environment. It means that it is a program to help you with
creating software, but remember: it only helps, by giving you useful tools and make easier to use them than the command line, it is not a compiler or a debugger! It just
helps to use them.)
As English is not my native language, there will probably be many «translation» errors (not really translation, because I am writing it in English directly…) so do not
hesitate to give me reports on the forum! (/index.php/topic,15076.msg101500.html#msg101500)
If you think something is missing, you need enhancement, please, say it too. I can’t make a complete tutorial, because I use this tool from many times, and will probably
forget some stuff I’m using every day.

And last, but not least, it’s not a tutorial about programming.
If you need something like that, please consider searching on the web. As a good hint, I will say www.cplusplus.com, which is my favorite site for searching C++’s easy to read
documentation. It has some tutorials too.

Be warned: I am using a nightly build of Code::Blocks, because they are not so hard to install, include many improvements, and are stable enough for use on a daily basis. At
least, stable enough for me.
So by using the official but old version of Code::Blocks (10.05: more than a year at the moment I am writing those lines).
It implies that some menus may have changed and you could have to search for something near my words, not exactly my words.
Remember: if you want to write programs, you will need to be able to learn by yourself. It’s more important than being able to use a technology, because all technologies can
evolve! (But I will try to be as accurate as I can).

At last, don’t hesitate to try something that is not specified here, I think doing is better than reading. We learn more with a fail, than with a success. If you mess up your Code::Blocks’ install, it’s not a problem, just remove configuration files and reinstall it. (configuration files are in you user directory. It means in «%UserProfile%» under windows and in «~/» for unix likes. Remember that they can be hidden, so it is possible you need to disable the hiding feature of your file manager.)

Installing Code::Blocks

First, you have to install Code::Blocks.
If you are using windows and preparing yourself for your first step in development, I recommend you to install the version bundled with mingw.
Else (or if you don’t mind this advice), you can read some articles about installing Code::Blocks:
Installing Code::Blocks

First start

First steps and basic customizations

At first startup, you will have a splash screen with the logo of CodeBlocks (later in this text, I will say «C::B». You could see the «CB» word in some places too).
Just wait a bit and C::B will ask you what compiler you have on your computer.
If you use Microsoft Windows system, and have installed C::B from the installer I recommended at the beginning of this article, you should have the mingw compiler detected.
If you are with a Linux distribution, you probably have the GNU GCC Compiler detected.

When you validate, the first compiler detected will be set as default.
You could prefer to select another for your common use, just select it then click on «Set as default».
If there is no compiler detected, then install one; using an IDE without compiler is not very useful.

When you have validated this first dialog, you will have C::B with a tip of the day. Read these tips, they can give some useful hints, as this document don’t pretend to say
everything about C::B. (But I’ll try to do my best…)
Close it when you have read enough :). If you don’t want to have it each time you run C::B, just click on «Show tips at startup»

Second action shall be to rearrange all those tool-bars. There is also one floating…
By defaults, they are enabled, but you can remove the by clicking on «View», then go into «Toolbars» and then remove the checked ones (ok, just the ones you think are boring).
You can also just move them, if you think you’ll need them. (In this document, I will use the menu names and write the entry each time)
I recommend you to disable them all.
In fact, the faster you learn to search in the menus, the faster you’ll use C::B. And it can help you learn shortcuts… The mouse will often slow you. (about that: as in many
applications, ALT+’underlined letter’ will often be like a click on the button/menu)

Some more personal configuration

This section just contains some tips I think good. In fact, if you want to go quickly to your first project, just jump to next section…

I’ve learned some tips, and have adopted some habits about some settings disabled by default. I will give you some of them as well as highlight some functionalities by the
setting options. This is often a good way to start learn how to use software in detail, but never (or only in bad software) mandatory:

Environment

  • In «General Settings» for Debian’s users, I recommend to set «Shell to run commands in:» as «x-terminal-emulator». It will allow C::B to use the terminal emulator you

installed. (I don’t like xterm…)

  • In «View» for people who prefer to have their IDE internationalized, check «internationalization» and give what it need. I guess it is a directory with .po files, but you will

have to find/make yourself the translations (there is a French one here: /index.php/topic,1022.165.html but I never used it… If someone knows more, about any translations and/or how to enable it, please give me the procedure and links, I’ll integrate them here, or modify yourself this page)

  • In «Disabled Dialogs» you will see all dialogs you have disabled, it will allow you to re enable them.
  • «Environment variables» will allow you to modify C::B’s variables, and define them in sets. It allows easier management of external libraries. (and so, make your projects easier to move from a computer to another)
  • «ToDo list» one of my favorite plug-ins. This menu allows you to include it in the bottom panel. This plug-in will parse source files (you can choose the scope: actual file, actual project, or whole workspace) and tell you where there are some special comments and what they say, allowing you to never forget to enhance, remove or finish a piece of code. You just have to write a comment with a special syntax (or use the contextual menu in the editor). If you don’t like it, or if you are working on a big project, you can disable the auto-refresh here.
  • «Thread Search» will allow you to set-up an advanced search. This search will search (obvious, isn’t it?) in a set of file (it can be all opened files, some target files, the project’s files, the workspace’ files or files in a directory) for a text you want (well, a text or a regular expression pattern, also known as «Regex»). The power of this plug-in, is that it store results in the bottom panel (yes, again…) and allows you to search in all occurrences what you want, because it gives you a thumbnail of what is around the thing it has found.
  • «Help files» Another extremely useful plug-in! Here you can add help files into C::B’s context menu. It will allow you, for example, to select a word, press «F1» and to have a window pop-up with the content of your help about that word. I’ve tested it with chm files (help files of Windows), never tried man or html, but it seems it works too.

Editor

  • «General Settings»: here are many useful things. You can modify the size of a tabulation, and specify if you prefer it to generate spaces or TAB characters (the advantage of TAB is that when you use arrows, you move faster with tabs than spaces).
    You can also enable/disable some customizations about indentation. Personally, I don’t like the brace completion, but I like indentation guides, it make it easier to know, what block of code you are in.
    The last thing I modified here was the «Highlight line under caret». Useful to know exactly which line you are on, if your caret is far from the beginning or vice versa.
  • «Margin and caret» here you can gain some place with the line numbers. A useful option is the «Dynamic setting» at first line. It will allow the width to be optimal. Just enough to write the full line number, not less, not more: no waste of space and a nice look about your position!
    Next is the «Right margin». Not so useful if you work alone on a wide screen, but when you work in some project with other people, it can happen that a coding convention forbids you to have more that, for example, 80 char width. This setting helps you with that. (this rule can be useful for people who don’t like word wrap or scrolling, and can sometimes work on a portable computer, during holidays or travels.)
    There are also some options about advanced selections: «Enable virtual space» which will allow you to have something like a paper, you can place your caret everywhere you want, without placing any spaces.
    And the «Allow multiple selections» with the sub option «Enable typing (and deleting) in multiple selections simultaneously», to be able to alter many lines with only one type. Useful when you use some copy/paste or are writing some switch cases…
  • «Syntax highlighting» will allow you to use C::B for another language, and/or customize some highlights. (On some screens (like my notebook), there are some comments which are impossible to read due to low contrast. The solution to this problem is here!)
  • «Default code» will allow you to automatically insert some code when C::B generate a file (like a class or header). Can be used, for example, to insert licensing (commonly used when you look into GPLed sources)
  • «Incremental search settings» this menu allows you to customize the incremental searches. What is it? Incremental searches are searches which highlight the results. You have something like that in some web browsers, for example. When you type, the software searches for what you are writing and highlights it to avoid you passing through it without seeing.
  • «DoxyBlocks» well, another very useful plug-in. This one allow C::B to generate comments for doxygen, and drives doxygen to generate the documentation about your code (doxygen is a free software). I recommend you to use this if you don’t actually, because a lack of comments often will give you many hours of useless work.
    This setting panel is like a simplified doxygen GUI.
  • «Code completion»: one of the main features of an IDE. The code completion allows you to «summon» the rest of the word you are typing, or give you some nice hints, because programmers are not like computers: we don’t have random access to all our memory, or don’t want to remember everything about each piece of code we (or someone else) wrote. So Code Completion, or CC helps us. Here are some options to customize it. (I think it is easy to understand what they mean, so I will not explain them, except for «Keywords sets to additionally include» which is used to adds all the words defined in the «Syntax highlighting» «Keywords…» sets (the ones which are selected, that is) to the list of words CC suggests from.)
  • «Keyboard shortcuts» can be useful, if, like me, you don’t really like to rub your desktop with your mouse.
  • «Source formatter» also known as AStyle. This plug-in «simply» reformats your code. If you take some code from someone else, or produced by a code generator, just run this plug-in to have your code formatted to your preferences. Well, you could need to setup them before, obviously. But the most common styles are already implemented, so you’ll probably just have to select one of them and go!
  • «Browse tracker» this plug-in allow you to navigate quickly in your code thanks to some keyboard shortcuts.
  • «WxSmith Settings» this is the RAD plug-in of C::B, allowing to quickly draw a wxWidget application. Some nice (for me) customizations here are «add new items continuously», setting «proportion» to 0 and enabling «expand». But these are my preferences…

Compiler

  • Global compiler settings: Here are some options redundant with project’s and target’s one: Compiler settings, Linker settings and Search directories. I will skip them for now and jump to the useful ones: Toolchain executables, Custom variables, Build options, Other settings.
    • Toolchain executables: it allow you to specify to CB where it have to search for compilation binaries, if it didn’t find them automatically.
    • Custom variables
    • Build options: There are some very useful options to make the compilation quicker:
      • Number of build process: I recommend you to set it to the same number of cores your processor have. Il will allow your compiler to compile more than one file at a time. With a dual core, it can divide compilation time per almost 2! (Almost, because some time is spent by a core to say to the other what he have to do, and because some steps must be made in a specific order. This is a good reason to #include the less files you can in headers, and set those #includes in the source files.)
    • Other settings
      • Compiler logging: allow to have a full log of what compiler do. It is less readable, but give all informations that can be needed to understand why something don’t compile/link, or by people to help you. It is highly recommended to enable it before asking something on a forum.
      • Compiler output to be ignored: this function will allow you to remove some annoying warnings, which come from an external library. It may be useful to fasten the compilation time, because showing those warning can slow CB when you have many of them.
        NOTE: there is an «Advanced options…» button here. As the dialog say when you click on it, you can damage CB build system. As I never tried to play with those settings, I will not speak more about this.
  • Profiler settings
  • Batch Builds

Debugger

(for the debug nightly only, but it will merged ASAP. I think it is stable enough to be used)
This dialog box do not have so many options, and they could change quickly, as the debugger plugin is under refactor. so I will skip it.

Global variables

CB have an internal variable system, used to customize project’s and target’s settings, making them easily portable, on another OS or just another computer.
To use them, use «$(#VAR_NAME)» where VAR_NAME is the name you used.
To use any of its subparts, use VAR_NAME.SUBPART.
By example:
«$(#sdl.include)» use the «include» part of the «sdl» global variable. You can see them as C structures, accessed when CB find something in $() and the access to their members is made with the . (dot). Note that the base member can be accessed without using the subpart syntax.
Here you can choose a set of variables to use.
In this set, you can easily add/remove/modify existing variables, variables which contain 4 main fields:

  • base: contain the «root» path, used by the 3 other main fields if you fill them with relative paths.
  • include: contain the path, absolute or relative to «base», where include files are.
  • lib contain the path, absolute or relative to «base», where lib files are.
  • obj contain the path, absolute or relative to «base», where obj files are.

2 other fields, but not as often used than the 4 above, are

  • cflags: contain additional compilation flags?
  • lflags: contain additional linker flags?

There are also 7 custom fields, where you set the name of the subpart, and define it’s value.

Scripting

I don’t know how it work.
Will be made when I’ll have time to spent to learn it.

WORK IN PROGRESS

Creating the first project

Introduction about how C::B manage projects

There are 3 levels of project management in C::B:

  • the workspace, contains projects, and will allow you to manage their inter-dependencies. It is the highest unit, and you can only open one at a time.
  • the project, contains targets. It’s the main unit, allowing you to write that it depends on external libraries or what options it will need to compile in all systems. You

can open all projects you want at same time.

  • the target, which allows you to give precise options your project will need to compile under a specific configuration, like a debug or another OS. A project can have as many

targets as you need.

Workspaces

C::B is able to open multiple projects at the same time. The layer containing those projects is named the «workspace».
They mainly allow you to «bind» projects together. There are no specific options in it, so presentations will be quick:

  • if you right click on its icon in the «management» panel, a contextual menu will appear. Entries are very easy to understand: you can save it, rename it, build all projects

it contains, clear all projects it contains. <<< I never use those options, so I don’t know if a specific target is used, or if it manages all targets… >>>

  • when you go into «Project»->»Properties» (or do a right click on a project) there is a button at the bottom of the window, named «Project’s Dependencies». If you click on

it, a window will appear, showing for the selected project (can be changed by clicking on the choice control) and a list of all other projects in the workspace. To tell C::B
that the selected one depends of another, just check the case on the side of the desired project.
If you select a project which depends, directly or not, on the one selected, C::B will warn you and refuse to check.
The utility of dependencies is that when you will build the active project (this is what C::B names the selected one), C::B will also build every project on which this project
depends.
It can seem useless when you only work on one or two projects, like the examples I used in introduction, but imagine this:
You have a client, depending on 2 libraries, a server, depending on the first library of the client, and another.
Each of those projects use units test, and so depends on them to know when you accidentally introduce regressions.
So you have a client which depends on 9 projects (the server, the 3 libraries, and the 5 unit testing projects), a server with a fewer dependencies (you can remove the library
specific to the client, and their units testing projects) and libraries.
And maybe you are the only one on the development of everything (I hope for you) so when someone modifies something you have to verify that all your stuff is up to date.
Using this dependency system will allow you to just make a build on the project you have modified; C::B will manage all its dependencies.
That’s not all; C::B will also manage run directories to allow you to run your application, finding dynamic linked libraries automatically. You don’t have to copy/paste the
files in the execution directory.
Easy and quick.

Projects

Generalities

This is the next level of C::B’s project’s management stuff, and the main one, with the more options.

  • «Project»->»Build Options…»: This option will be explained in the next section: #Targets.
  • «Project»->»Properties» (right click on a project and click on properties): this will show you a window with many tabs, the first one having two buttons at its bottom: one

allows you to manage project’s dependencies, and which has already been described, and the other allows you to specify build options. The second one will be explained in the
next section: #Targets.

Here is a list of tabs, and a quick explanation of what they allow for those I know. I will give more explanation of them in sub-sections when it is needed (and when I have
knowledge, obviously).
For tabs I never used, I will put a «(?)» at the end of explanation, to allow readers to know that information is not verified, and encouraging them to complete this document.

  • Project Settings
  • Build Targets
  • Build Scripts
  • Notes
  • EnvVars Options
  • C/C++ parser options
  • Debugger : (?) allows you to specify directories in which debugger can find information about source code, for libraries that provide it. It can configure remote debugging
  • Libraries : (?) will manage libraries you use in this project. I never used it, but it seem it allow to manage libraries you use automatically.

Targets

The target is the smallest build unit in C::B. ( I didn’t say that it is the smallest compilation unit, C::B is able to compile files separately. Or, to be more accurate, is
able to tell to the compiler to compile files separately. Never forget that C::B is NOT a compiler or debugger, only a tool to help you in dealing with these kinds of
software.)

  • I will not talk about the client/server methods, as I never had the chance of developing such software architecture.

Руководство по работе в среде разработки Code::Blocks

С/к. ¾ООП на C ++¿

мехмат, II курс, ВО, ИСТ

Практикум

Руководство по работе в среде разработки Code::Blocks – 1 / 60

Библиотека

Создание

Шаблон

Имя проекта

Каталоги

Новое имя

Функция

Параметры

Пути

Создание проекта статической библиотеки

Файл

Шаблон

Путь к файлу

Редактирование

Сборка

Сообщения

Результат

Программа

Практикум

Руководство по работе в среде разработки Code::Blocks – 2 / 60

Библиотека

Создание

Шаблон Имя проекта Каталоги Новое имя Функция Параметры Пути Файл Шаблон

Путь к файлу

Редактирование

Сборка

Сообщения

Результат

Программа

Создание нового проекта

Рис. 1: Команда создания нового проекта

1.Выбрать в главном меню (см. рис. 1) команду File New Project. . .

(Файл Создать Проект).

Практикум

Руководство по работе в среде разработки Code::Blocks – 3 / 60

Выбор шаблона проекта библиотеки

Библиотека

Создание

Шаблон Имя проекта Каталоги Новое имя Функция Параметры Пути Файл Шаблон

Путь к файлу

Редактирование

Сборка

Сообщения

Результат

Программа

Рис. 2: Выбор шаблона проекта статической библиотеки

Практикум

Руководство по работе в среде разработки Code::Blocks – 4 / 60

Библиотека

Создание

Шаблон Имя проекта Каталоги Новое имя Функция Параметры Пути Файл Шаблон

Путь к файлу

Редактирование

Сборка

Сообщения

Результат

Программа

Выбор шаблона проекта библиотеки (окончание)

2.В окне выбора шаблона нового проекта (см. рис. 2) выбрать шаблон Static library (Статическая библиотека), затем нажать кнопку Go (Вперёд). Запустится мастер создания проекта.

Практикум

Руководство по работе в среде разработки Code::Blocks – 5 / 60

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]

  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #

    05.06.201511.47 Mб135Савельев И.В. Курс общей физики Том 1.djvu

  • #

    05.06.20159.5 Mб114Савельев И.В. Курс общей физики Том 2.djvu

Создание проекта

Для полноценной разработки программы на C в Code::Blocks необходимо создать проект. Проект это по сути и есть разрабатываемая программа, исходный код которой может состоять из нескольких файлов: проект объединяет в себе ссылки на эти файлы, настройки компилятора и другие элементы конфигурации программы.

Каждому проекту создается отдельный каталог, где размещаются файлы проекта, а также файл с именем проекта и расширением .cbp, содержащий конфигурацию проекта. При переносе проекта на другой компьютер необходимо брать именно весь этот каталог, однако подкаталоги bin (содержит исполняемые файлы создаваемой программы) и obj (содержит объектные файлы создаваемой программы) лучше исключить.

Чтобы создать проект необходимо выбрать в меню FileNewProject. В появившемся окне выбрать тип проекта: в данном курсе это Console Application.

Далее программа предложит пошагово настроить новый проект. Переход к следующуему шагу осуществляется нажатием Next, на последнем шаге необходимо будет выбрать Finish.

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

На третьем шаге необходимо указать имя проекта и папку для его размещения. Имя проекта (Project title) — имя создаваемой программы, папку (Folder to create project in) необходимо выбрать там, где у Вас запланировано место для хранения создаваемых программ (Мои документы на домашнем компьютере, подкаталог диск W: в компьютерных классах и т.п.)

На последнем шаге предлагается выбрать компилятор (GNU GCC Compiler), подключить две конфигурации сборки (их и нужно две — Debug для отладки и Release для публикации), поэтому здесь оставляем как есть (Finish).

Проект создан, в левой части можно найти файлы исходного кода, Code::Blocks создал файл main.c hello-world программой.

После создания проекта рекомендуется проверить настройки опций сборки: ProjectBuild options. В левой части окна — список конфигураций. Если активна строчка с именем проекта (здесь это MyProject), то это общие для всех конфигураций опции, опции конфигураций сборки (Debug, Release) добавляются к ним.

Рекомендуется, чтобы в общих для всех конфигураций сборки опциях компилятора (вкладка Compiler settings) была активна опция подключения всех предупреждений -Wall (Enable all common compiler warnings), так как предупреждения позволяют найти многие смысловые ошибки в верной с точки зрения синтаксиса программе.

Также можно подключить строгое следование стандарту ISO C (-pedantic, -pedantic-errors).

Конфигурация Debug должна дополнительно подключать опцию -g (Produce debugging symbols) без которой отладчик не сможет установить взаимно-однозначное соответствие между исполняемым файлом и исходным кодом (в конфигурации Release этой опции быть не должно, в частности потому, что при ее подключении программа будет работать медленнее, занимать больше места и др.)

Сборка, запуск и отладка

  1. Компиляция (сборка) проекта осуществляется с помощью меню BuildBuild. Сборка предполагает компиляцию, только если файлы исходного кода изменены. Принудительная полная перекомпиляция — BuildRebuild (может понадобиться, например, если изменялись опции сборки).
  2. Запуск проекта без отладчика осуществляется с помощью BuildRun или BuildBuild and run (в последнем случае предварительно осуществляется сборка изменений, но запускать без предварительной сборки не рекомендуется, так как можно пропустить предупреждения).
  3. Запуск в отладчике осуществляется с помощью DebugStart/Continue, однако в этом случае программа будет исполняться в отладчике без пауз, если не будут установлены точки прерывания. Для их установки и сняти нужно подвести курсор к строке кода и выбрать DebugToggle breakpoint.

    Начать пошаговое исполнение с начала первого оператора главной функции можно с помощью DebugStep into, в этом случае программа будет исполняться до той строки, где находится курсор.

    Также можно запустить в отладчике с остановкой в одном выбранном месте с помощью DebugRun to cursor, в этом случае программа будет исполняться до той строки, где находится курсор.

    Перед запуском в отладчике необходимо убедиться, что запускается именно отладочная конфигурация (Debug): BuildSelect target.

  4. Пошаговое исполнение в отладчике осуществляется с помощью DebugNext line (без входа в функции) и с помощью DebugStep into (со входом в функции).

    Окно наблюдений за значениями переменных программы можно подключить в DebugDebugging windowsWatches

This tutorial will explain how you can start software development with CodeBlocks with wxWidgets Framework and GUI designer wxSmith. Aimed for beginners, this is an expansion of our alternatives to Visual Basic, Studio or Delphi. We hope this could help, support and enable everyone to Free Libre Open Source Software development. Now let’s start.

Subscribe to UbuntuBuzz Telegram Channel to get article updates.

CodeBlocks Basic 

In short, here’s how to play with CodeBlocks:

  • To save everything: click menu File > Save Everything (Ctrl+Shift+S)
  • To Build: click menu Build > Build (Ctrl+F9)
  • To Run: click menu Build > Run (Ctrl+F10)
  • To show/hide bottom panel: click menu View > Toolbars > Logs (F2).
  • Project directory: by default, it is /home/ubuntu/Projects given that ubuntu is your username.
  • Project file name and extension: it is programName.cbp given that programName is your program name.

Getting Started to the User Interface

A standard CodeBlocks window consists of the following parts:

  • Top: titlebar, menubar and detachable toolbars.
  • Left: management panel with projects and resources viewers (top) and properties inspector (bottom).
  • Right: empty, except when GUI designer enabled it shows GUI insert/delete/preview tools.
  • Center: code editor and/or GUI designer (can be displayed side by side).
  • Bottom: output panel and statusbar.

Create a New Project

1. Click menu File > New > Project > New from template dialog will open.

2. Select wxWidgets project (usually at the end of list) > Go > wxWidgets project dialog will open. 

3.
First page, click Next > second page, select wxWidgets 3.0 >
third, give project name myGuiProgram > fourth, enter your name as
the author of this program > fifth, select wxSmith as the Preferred
GUI Builder > sixth, select GNU GCC Compiler as the Compiler >
seventh, select Use default wxWidgets configuration as the Library
Settings > finish > a new project created. 

4. Below is CodeBlock with its GUI designer visible.

5. You can start your creativity by adding up buttons, menus, labels etc to the form.

Adding «Hello, World!» Message and a Picture

We will make a simple window program with title Hello, World!, with Ubuntu logo as the program logo, a text label saying «Hello, World!» on it, and display an Ubuntu picture on the rest of window. As simple as that.

Firstly, click the form so you see 8 black points surrounding it. Look at the Properties box on the bottom left, change the Title into Hello, World!. See Icon variable below it? Click the value button beside, Image Picker dialog will open, select Image from file, and choose an Ubuntu logo then OK. 

Secondly, find wxStaticText on the long buttons palette at the bottom. Click it, then click the form, you added a blank text label. To change the text, select the label, then look at Properties, do you find Label variable? Change its value to «Hello, World!» without quotes. You made a text message. 

Note: because wxWidgets provides so many widgets, the palette became very long and many widgets not visible by default. To see them, carefully hover your pointer to bottom point of the palette and drag the thin horizontal scrollbar to right.

Thirdly, find wxStaticBitmap on the palette. Click it, then click the form, you added a blank container of picture. To insert a picture, select it, then at the Properties, click the value button of Bitmap variable, point it to a picture of Ubuntu. You display a picture. 

Finally, Build and Run your program. Now you should see your program title Hello, World!, with Ubuntu logo as its logo, display a message saying «Hello, World!», and display a screenshot of Ubuntu.

Further Learning

To study more about C++ programming with CodeBlocks, you can start right from CodeBlocks wiki Hello World Tutorial.

Happy hacking!


This article is licensed under CC BY-SA 3.0.

Добрый день, дорогие друзья. Этой статьей я начинаю серию уроков посвященных одному из самых популярных языков программирования — с++. Уроки направлены в первую очередь на пользователей, который не знакомы с программированием, поэтому профессионалы, не будьте строги, хотя поддерживаю критику, особенно в свой адрес. В своих уроках я буду использовать среду разработки Code::Blocks , который можно скачать и использовать бесплатно. Начнем конечно с классического Hello, world =)

Я надеюсь что Вы уже скачали и установили Code::Blocks, если это так, то начнем. Запускаем среду разработки

Первым делом создаем новый пустой проект File->New->Project и выбираем Empty project

кликаем Go, затем Next

и в появившемся окне в поле Project title набираем заголовок проекта, в Project filename название проекта и снова Next.

В следующем окне удаляем Objects dir из разделов Create «Debug» configuration и Create «Release» configuration, как показано на скриншоте выше и нажимаем по кнопке Finish. Справа должен появится проект с названием «Hello world»

Следующий этап, добавляем в проект файл File->New->FIle… и в появившемся окне выбираем c/c++ source.

Снова Go, Next, выбираем с++, Next и видим следующее окно

,

тут нам необходимо указать имя файла (я назвал main) и его путь, желательно папку с проектом. Ставим галочки на Debug и Release и кликаем Finish.

И мы получили пустой файл с++, в котором будем писать сам код программы.

Теперь начинаем писать сам код программы. Для вывода информации на экран, нам потребуется библиотека ввода/вывода iostream.

#include

using namespace
std
;

Затем пропишем главную функцию, которая будет выполняться при запуске программы

int
main()

она обязательно должна называться «main» и указываем ей тип int (об этом мы поговорим в следующих уроках). Между фигурных скобок и будет находится код программы. Мы напишем простую программу, которая будет в консоли выводить приветствие «Hello, world!».

cout<<«Hello, world!»
;

После каждой команду обязательно нужно ставить «;», это говорит компилятору, что команда закончена и можно обрабатывать следующую. cout — выводит значения переменных или строки в командную строку.

Полный листинг программы.

#include

using namespace
std;

int main()

cout<<
«Hello, world!»
;

return 0
;

Запускаем проект и видим результат.

Ниже прилагаю видео урок, к даной статье.

Если возникли вопросы, комментарии пишите на Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра.
,»>Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра.
, буду дорабатывать уроки или просто помогать в изучении материалов.

  • < Назад

Предварительный (неоконченный) вариант

1
Установка и настройка среды разработки

1.1
Общие сведения

Для начала требуется установить среду разработки, в качестве которой будет
использоваться интегрированная программная среда Code::Blocks.
К основным преимуществам Code::Blocks относятся:

  • свободная лицензия GPL v3.0 ,
    в частности, разрешается бесплатное распространение и использование;
  • среда может работать в операционных системах семейств Windows, Linux, OS X (то
    есть является кросс-платформенной);
  • возможность работы с различными компиляторами.

Этот файл устанавливает как саму среду Code::Blocks, так и среду MinGW , которая
предоставляет компиляторы семейства GCC . Среда MinGW тоже относится к свободно
распространяемому программному обеспечению.

1.2.1.2
Процесс установки

Надо запустить файл codeblocks-10.05mingw-setup.exe .
Появится окно программы установки.

Надо нажать «Next». Появится окно с текстом свободной лицензии GPL v3.0 .

Нажатие кнопки «I Agree» означает согласие с условиями лицензии и позволяет
продолжит установку программы, в ходе которой далее появится окно выбора
компонентов. В этом окне надо выбрать тип установки «Full: All plugins, all
tools, just everything».

После этого надо нажать кнопку «Next». Появится окно с именем каталога для
установки. Лучше, чтобы полное имя каталога не содержало пробелов и других букв, кроме латинских.
Поэтому, например, имя C:Program FilesCodeBlocks
лучше заменить на другое, например, на C:CodeBlocks или
C:ProgramsCodeBlocks .

После этого можно нажать кнопку «Install», которая запускает собственно процесс
установки.

По окончании процесса появится окно с вопросом о запуске Code::Blocks. Лучше
здесь нажать «Нет», чтобы потом проверить запуск Code::Blocks обычным путем.

После этого достаточно будет нажать кнопку «Next», а потом «Finish», чтобы
закончить процесс установки.

1.2.1.3
Первый запуск

Ярлык для запуска
Code::Blocks должен появиться на панели быстрого запуска. Также аналогичный
ярлык должен появиться на рабочем столе.

Code::Blocks можно запускать с помощью этих ярлыков, а также с помощью
стандартного системного меню программ.

При первом
запуске Code::Blocks должно появиться окно автоматического
нахождения компилятора.

Заметьте, что в первой строке должно быть слово «Detected». Это означает, что
найден компилятор. Надо нажать «OK». Процесс первого запуска продолжится, и
будет запущена среда разработки. При этом появится окно с советом дня.

Если вы не хотите, чтобы это окно появлялось при каждом новом запуске
Code::Blocks, то тогда уберите галочку «Show tips at startup в этом окне».
Нажмите «Close», чтобы закрыть это окно.

После этого может появиться следующее окно.

Здесь лучше нажать «OK», чтобы файлы, относящиеся к C/C++, были связаны с
Code::Blocks.

Также можно закрыть окно «Scripting console».

1.2.2
Установка для операционной системы семейства Linux

В случае Linux можно установить Code::Blocks с помощью пакета для нужного
дистрибутива среди перечисленных на этой странице .

Также можно попробовать поискать Code::Blocks в репозитории используемого
дистрибутива Linux. Например, пакет Code::Blocks (10.05-1) имеется в репозитории
Ubuntu 11.04.

1.3
Настройка

Для начала можно более компактно распределить панели инструментов в верхней
части окна.

После этого надо сделать несколько изменений в базовых настройках.

Выберите меню «Settings=>Compiler and debugger…». Появится окно
настроек.

В этом окне надо поставить
галочку для «Produce debugging symbols». Это
изменение позволит выполнять режим отладки, который будет рассмотрен в ходе
одной из последующих лекций.

Не закрывая это окно, надо нажать вкладку «Other options».

И в поле редактирования надо добавить следующую строку.

Finput-charset=CP1251 -fexec-charset=CP866

Это позволить правильно отображать кириллицу в консоли в случае операционной
системы семейства Windows. При использовании Code::Blocks в других операционных системах (например, в Linux) эту строку добавлять не надо
.

Не закрывая это окно, надо нажать слева на рисунок с надписью «Debugger
settings», а затем поставить
галочку для «Evaluate expression under cursor».

После этого нажмите «OK». Все сделанные изменения должны вступить в силу.

2
Первый проект

2.1
Создание проекта

Теперь попробуем создать программу на языке C.

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

Итак, для создания проекта выберите меню «File», затем в появившемся списке
выберите «New», затем в появившемся списке выберите «Project» (для краткости
подобное действие можно обозначить как «File=>New=>Project», и в
дальнейшем будут использоваться такие более краткие обозначения). В итоге,
должно появиться диалоговое окно.

В нем выберите «Console application» и нажмите «Go». Появится мастер создания
проекта.

Нажмите «Next». Появится следующее окно.

Здесь надо выбрать C (а не C++) и нажать «Next». Появится следующее окно.

В строке «Project title» введите название проекта, например, Project01.
Заметьте, что в строке «Project filenamе» (имя файла проекта) это название будет
скопировано. Это имя файла можно изменить (чтобы оно отличалось от названия
проекта), но для удобства лучше оставить их одинаковыми. Затем, в строке строки
«Folder to create project in» (папка для создания в ней проекта) надо указать
папку, где будет располагаться папка с проектом. Можно либо выбрать какую-нибудь
папку из имеющихся с помощью кнопки «…», либо вручную набрать имя папки,
например, C:Projects .

Тогда именно в выбранной папке будет создана папка с названием проекта, где и
будет расположен сам проект. Можете это проверить, обратив внимание на строку
«Resulting filename».


При задании имени проекта и папки для проекта не допускайте использование имен папок с пробелами или буквами, которые не являются латинскими
(строка
«Resulting filename» не должна содержать пробелов в именах папок, а также не
должна содержать других букв, кроме латинских).

Нажмите Next. Появится следующее окно.

Эти настройки оставьте без изменений. Нажмите «Finish». Проект будет создан.

В левой верхней части (в окне «Management») отобразится проект с папкой
«Sources».

Надо нажать на «+» (или дважды нажать на папку) и эта папка откроется.

В ней будет единственный файл main.c . Надо дважды нажать на него, тогда справа
откроется поле редактирование, в котором отобразится содержимое этого файла (в
верхней части будет закладка с именем файла).

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

Это первая простейшая программа, которая выводит текст «Hello world!»
(«Здравствуй, мир!»). Традиционно, именно такая программа используется в
качестве первой программы при знакомстве с языком программирования. В случае
Code::Blocks эта программа автоматически создается при создании нового проекта.

Размер шрифта в окне редактирования можно очень просто изменить.
Для этого,
вращайте колесо на мыши, удерживая нажатой клавишу Ctrl.

Еще можно использовать меню «Settings=>Editor» и, нажав в верхней
правой части кнопку «Choose», поменять не только размер шрифта, но и сам шрифт.
Только учтите, что для написания программ лучше использовать шрифты, у которых
все буквы имеют одинаковую ширину. К таким шрифтам, к примеру, относятся шрифты:
Courier New, Courier, Liberation Mono, Lucida Console, Monospace и др.

Если окажется, что на экране отсутствует окно «Management» или какое-нибудь
другое нужное окно, то тогда надо выбрать меню View и в появившемся меню выбрать
пункт, соответствующий нужному окну.

Если вдруг проект оказался закрытым
, например, при выходе и повторном заходе в
Code::Blocks, то его можно заново открыть. Для этого надо выбрать меню
«File=>Recent projects», где, затем, в появившемся списке следует
выбрать нужный проект. Либо можно использовать меню «File=>Open»,
после чего выбрать файл Project01.cbp .

2.2
Сборка и запуск программы

Эта программа будет детально рассмотрена чуть позже, а сейчас попробуем ее
запустить.

Для этого должна быть выполнена компиляция
текста программы (Compiling), и с
помощью компоновки
(Linking) должен быть создан исполняемый файл с расширением.exe , который и будет запускаться. Весь этот процесс компиляции и компоновки
называется сборкой
(Building).

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

(Building), состоящей из этапов компиляции
(Compiling) и компоновки

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

Интегрированная среда разработки Code::Blocks
позволяет автоматизировать сборку и запуск (Run) программы. Для сборки и запуска
программы достаточно выполнить команду «Собрать и запустить» (Build and run),
нажав кнопку или клавишу F9.
Еще один вариант — это выбрать меню «Build=>Build and run».

В нижнем окне (сообщений о процессе сборки) будут появляться надписи
«Compiling», «Linking» и т.д., что отражает ход компилирования и компоновки
программы.


В результате должно появиться консольное окно, где в верхней части будет
выведено предложение, указанное в программе в кавычках, а именно предложение
«Hello world!».

Таким образом, программа выводит на экран заданную строку.

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

Шрифт, используемый в консольном окне при необходимости можно поменять.

Например, в случае операционной системы семейства Windows, для этого можно
попробовать выполнить следующие действия.

Нажмите правой
кнопкой мыши на значок в верхнем левом углу консольного
окна. Должно появиться всплывающее меню, где надо выбрать пункт «Умолчания».

Появится окно настроек.

В этом окне надо выбрать нужный шрифт (например, Lucida Console). Затем, для
этого шрифта надо выбрать желаемый размер (например, 14). После этого надо
нажать «OK», чтобы сохранить настройки.

Затем, надо закрыть консольное окно, нажав любую клавишу.

После этого надо заново запустить программу, нажав кнопку
или клавишу F9 (или выбрав меню
«Build=>Build and run»).

Теперь консольное окно должно иметь новый шрифт.

2.3
Пояснение программы

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

#include

#include

int
main
()

{
printf(«Hello world!n»
);

return
0;

}

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

Содержимое функции, а в данном случае содержимое всей программы, находится между
фигурными скобками. Они соответствуют begin и end применительно к языку
Паскаль.

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

Также между фигурными скобками вызов функции с именем printf . Эта
функция используется в данном случае для вывода текста на экран. В круглых
скобках для этой функции указываются ее аргументы. Здесь единственным аргументом
является строка, заключенная в двойные кавычки. Именно эта строка и выводится на
экран функцией printf . Но при этом на экран не выводится сочетание символов
n . Это сочетание обозначает символ перехода на новую строку, который не
печатается на экране, но означает, что в данном месте должен быть выполнен
переход на новую строку.

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

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

Остается понять, для чего нужны и строка в этой программе. Не
вдаваясь в подробности, можно сказать, что строка нужна для того, чтобы
стало возможным использовать функцию printf , так как эта строка дает
возможность получить информацию об этой функции. Эта строка подключает файл
stdio.h , имя которого указано в скобках в виде знаков < и > . Команда
#include обозначает подключение этого файла. Такое подключение позволяет
использовать функции, объявленные этом файле, в частности, функцию printf .
строка в этой программе вообще-то не нужна, но ее принцип действия
аналогичен, только здесь подключается другой файл (stdlib.h).

2.4
Изменение программы

Теперь можно обратиться к редактированию файла main.c .

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

Содержимое файла main.c было создано автоматически. Но подобную программу можно
записать чуть более кратко, а также немного изменить , добавив
восклицательных знаков.

#include

int
main
()
{
printf(«Hello world!!!n»
);

return
0;
}

Теперь эту программу надо перенести в окно редактирования с помощью обычного
копирования. Для этого надо выделить текст программы и скопировать в буфер
обмена выделенный текст, например, нажав правую кнопку мыши и выбрав в меню
«Копировать»). Затем, надо переключиться в окно редактирования Code::Blocks,
выделить имеющийся там текст
, и вставить текст из буфера обмена, например,
выбрав меню «Edit=>Paste» или выбрав, после нажатия правой кнопки
мыши, меню «Edit=>Paste»). В окне редактирования должен появиться
данный вариант программы.

Сохраните новый вариант программы. Для этого достаточно нажать Ctrl-S (или
выбрать меню «File=>Save file»). Приучите себя сохранять файл после каждого, пусть даже небольшого, изменения текста программы.
Иначе при
«зависании» может быть потерян некоторый объем работы.

Попробуйте запустить этот новый вариант программ.

Задания для самоконтроля

  1. Поменяйте текст «Hello world!!!» на какой-нибудь другой, при этом используя
    русский язык. Запустите программу, чтобы проверить изменения.
  2. Поменяйте значение 0 после return на какое-нибудь другое числовое
    значение, например, на 5. Запустите программу и проверьте что после «Process
    returned» в консольном окне выводится новое числовое значение.
  3. Сделайте так, чтобы при запуске программы перед выводом строки «Hello
    world!!!» происходило смещение на одну строку вниз на экране. Для этого
    поставьте сочетание n в самом начале строки, используемой в качестве
    аргумента для функции printf . Запустите программу, чтобы
    убедиться в правильности выполнения задания.
  4. Сделайте так, чтобы при запуске программы перед выводом строки «Hello World!»
    происходило смещение на несколько строк вниз на экране. Для этого поставьте
    сочетание n несколько раз подряд в самом начале строки, используемой в
    качестве аргумента функции printf (подразумевается строка, расположенная
    внутри скобок в кавычках). Запустите программу, чтобы убедиться в
    правильности выполнения задания.
  5. Выведите строку «Hello world!!!» трижды в трех последовательных строках на
    экране (по одному экземпляру в строке), расставив в нужных местах сочетание
    n .
  6. Сделайте так, чтобы при запуске программы строка «Hello world!!!» выводилась
    точно по центру экрана. Для этого надо сместить строку вниз и вправо,
    используя n и пробелы.
  7. Выведите одновременно три разных слова в трех местах на экране: в верхних
    углах и в центре экрана. Используйте подряд два вызова printf с разными
    строками в виде аргументов, используя в каждом случае особым образом n и
    пробелы.

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

В папке проекта, путь к которой был указан при создании проекта (см. ),
должна быть папка bin/Debug . И в этой папке должен находится исполняемый файл
Project01.exe , получаемый в результате сборки программы.

Этот исполняемый файл (приложение) можно запустить стандартными средствами
(например, используя «Проводник»), то есть вне
среды разработки Code::Blocks.
Также, например, можно сделать ярлык на этот файл и разместить его на рабочий
стол, чтобы потом оттуда запускать.

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

Чтобы реализовать ожидание нажатой клавиши (в случае Windows) надо изменить
программу, добавив несколько строк. Тогда она примет следующий вид.

#include

#include

int
main
()
{
printf(«Hello world!!!n»
);
getch();

return
0;
}

Попробуйте запустить эту программу из Code::Blocks. Для этого поместите
указанную программу в поле редактирования вместо
имеющейся, и запустите
программу, нажав кнопку или
клавишу F9 (или выбрав меню «Build=>Build and run»).

Заметьте, что после вывода «Hello world!!!» теперь больше ничего не выводится,
так как выполняется ожидание нажатия какой-нибудь клавиши. А вот после нажатия
клавиши происходит вывод уже знакомых двух строк («Process returned … » и «Press
any key to continue.»). После этих строк опять выполняется ожидание нажатия
клавиши (которое обеспечивается средой Code::Blocks).

Теперь если выполнить эту программу вне
Code::Blocks, запустив файл
Project01.exe , то в окне выведется заданный текст и программа будет ожидать
нажатия какой-нибудь клавиши для завершения.

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

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

2.6
Сообщения о предупреждениях и ошибках в программе

При сборке программы (при попытке ее запуска после изменений) может происходить
вывод предупреждений и ошибок. Как это происходит, рассмотрим на примере.
Попробуйте запустить следующую программу.

#include

int
main
()
{
printf(«Hello world!!!n»
);
}

Эта программа не содержит return, но она будет запущена. Попробуйте ее запустить.

Однако в процессе компиляции будет выдано предупреждение, связанное с тем, что
нет оператора return . При запуске программы это предупреждение исчезает, так
как оно не влияет на запуск программы. Но его можно прочитать, если выполнить
только построение файла (без запуска приложения). Для этого надо сформировать
команду «Собрать» (Build), нажав Ctrl-F9, или нажав кнопку
, или выбрав меню
«Build=>Build».

Но если с предыдущей сборки или запуска программа не менялась, то новая сборка
выполняться не будет. И в окне внизу будет выведено сообщение о том, что сборка
уже самая свежая, и больше ничего не надо делать для этой команды («Target is up
to date. Nothing to be done.»).

В таком случае надо собрать заново. Для этого надо сформировать команду «Собрать
заново» (Rebuild), нажав Ctrl-F11, или нажав кнопку
, или выбрав меню
«Build=>Rebuild». После формирования этой команды появляется окно для
ее подтверждения. Чтобы подтвердить эту команду надо нажать «Yes» в указанном
окне.

Тогда в нижнем окне можно увидеть строку с предупреждением (синего цвета), а
также сообщение о наличии одного предупреждения (1 warnings).

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

В дальнейшем оператор return для функции main можно не использовать для
краткости, как это сделано в . Но надо учитывать, что из-за
этого появляется предупреждение.

Теперь попробуйте запустить следующую программу.

#include

int
main
()
{
printf(Hello
world
!!!n);

}

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

Строка в программе, где имеется ошибка, подсвечивается красным квадратом.

Надо учитывать, что одна действительная ошибка может приводить сразу к
нескольким сообщениям об ошибке. В данном примере формируется 5 ошибок, поэтому
выводится 5 строк красным шрифтом.

Сравнивая и программу, нетрудно понять, что ошибка возникает
из-за того, что не указаны кавычки. Соответственно выводится ошибка «»Hello»
undeclared». Слово «undeclared» означает «не объявлено», то есть компилятор
пытается понять, что обозначает Hello, и что при этом надо делать. Он не может
найти это слово среди известных слов, поэтому выдает ошибку. Если же это слово
находится в двойных кавычках, то тогда оно воспринимается как некоторая строка,
внутри которой может быть что угодно. Строку можно выводить на экран. Поэтому
после исправления программы (добавления кавычек, где надо) все должно быть
нормально.

Исправьте программу и проверьте ее правильность выполнения.

Задания для самоконтроля

  1. Попробуйте убрать последнюю фигурную скобку и запустить программу. Заметьте,
    что ошибка отмечается в строке, содержащей printf , то есть в предыдущей
    строке. Восстановите правильную программу.
  2. Попробуйте убрать две круглые скобки после main . Заметьте, что ошибка
    отмечается в строке, содержащей фигурную скобку, то есть в следующей строке.
    Восстановите правильную программу.
  3. Попробуйте убрать первую круглую скобку после main . Заметьте, что ошибка
    отмечается в строке, содержащей main , то есть в этой же строке. Восстановите
    правильную программу.

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

3
Базовые сведения

3.1
Целые числа

Для работы с данными, в частности, с целыми числами понадобятся переменные,
которые служат для хранения таких чисел. Для начала переменную надо объявить,
чтобы начать с ней работать.

Объявление переменной выполняется следующим образом.

Тип_переменной имя_переменной;

Например, целочисленная переменная a объявляется следующим образом.

int
a
;

В данном случае переменная a имеет тип int , что обозначает целочисленный тип.

Объявление переменной задает некоторый блок памяти для хранения данных
указанного типа. Естественно, что можно выделять несколько подобных блоков.
Чтобы отличать их друг от друга эти блоки именуются. Например, объявление int a выделяет блок с именем a , объявление int b выделяет блок с именем b и
т. д. При этом можно одновременно объявить несколько переменных, то есть
выделить несколько однотипных блоков с разными именами. Для этого имена этих
блоков перечисляются через запятую после обозначения типа.

int
x
, y
, z
;

В данном объявлении выделяется три разных блока одного типа с разными именами.

Чтобы в выделенный блок данных записать значение, надо соответствующей
переменной присвоить это значение, например, выражение

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

выполняет присвоение переменной a значения переменной b . Можно присвоить
одно и то же значение сразу нескольким переменных. Для этого, например, можно
использовать следующее выражение.

X = y = z = 100;

Помните, что переменной можно присвоить значение, только если эта переменная
была объявлена (в частности, для нее был указан ее тип).

Значение переменной можно вывести на экран с помощью функции printf .
В качестве примера проверьте выполнение следующей программы.

#include

int
main
()
{
int
a
; /*
объявление переменной a
*/

a = 10;

printf(«Значение переменной a = %dn»
, a);

}

Обратите внимание на то, что в программе комментарий «объявление
переменной a». Комментарий — это фрагмент, который нужен для описания той или
иной части программы. Комментарий не влияет на итоговую программу, это просто
добавление в текст, которое в дальнейшем не используется при выполнении
программы. Комментарий должен начинаться с комбинации символов /* и
заканчиваться комбинацией символов */ . При этом комментарий может
располагаться на нескольких строках, для этого комбинация /* будет расположена
в начале первой строки комментария, а комбинация */ будет расположена в конце
последней строки комментария.

В самом начале функции main переменной а. Затем этой
переменной значение 10. В следующей строке с помощью функции
printf значения переменной на экран. Для этого добавляется
дополнительный аргумент функции printf через запятую после строки в кавычках.
Этим дополнительным аргументом является сама переменная a , значение которой
должно быть выведено на экран. Чтобы сообщить функции printf , куда вывести
значение переменной, в выводимую строку добавляется комбинация из двух символов,
а именно %d . Сами эти символы выводиться на экран не будут, но вместо них
будет выведено значение переменной идущей через запятую после строки. Запустите
программу и проверьте ее работу.

При наборе программы обратите внимание, что маленькие и большие буквы — это
разные буквы с точки зрения компилятора. Поэтому, например, набор Main вместо
main приведет к ошибке.

Задания для самоконтроля

  1. Поменяйте значение переменной a на какое-нибудь другое значение и
  2. Попробуйте добавлять комментарии в различные части программы. Убедитесь, что
    они не влияют на выполнение программы. Проверьте использование комментариев,
    занимающих несколько строк подряд.
  3. Проверьте, что произойдет при изменении регистра той или иной буквы, то есть,
    например, при изменении маленькой буквы на большую и наоборот.

Для объявления переменной а и ее инициализации получается подряд идущие две
строки ( и ). Но можно совместить объявление переменной и ее
инициализацию. Вместо указанных двух строк можно записать только одну строку
следующего вида.

int
a
= 10;

Проверьте правильность работы программы после такого изменения.

С помощью функции printf также можно выводить значения сразу нескольких
переменных. Для проверки этой возможности сделайте объявление переменной b и
присвоение некоторого значения этой переменной перед вызовом функции printf .
Важно отметить, что объявление переменной может выполняться в любом месте внутри
фигурных скобок функции, в частности, функции main . После этого преобразуйте
строку с функцией printf следующим образом.

Printf(«a = %d, b = %d n»
, a, b);

Проверьте правильность выполнения программы.

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

При этом в качестве аргумента функции printf также можно указывать выражение.
Например, для возведения переменной в квадрат и в куб можно использовать знак
* , обозначающий умножение. Добавьте после имеющегося вызова функции printf
следующий фрагмент.

Printf(«a = %dn(а в квадрате) = %dn(a в кубе) = %dn»
,
a, a * a, a * a * a);

Проверьте правильность выполнения программы.

Заметьте, если вызов функции — это слишком длинная строка, то ее удобно делить
на несколько строк по запятым. Например, как это было сделано в данном тексте,
но этот же фрагмент можно записать и в одну строку по желанию программиста.

3.2
Арифметические выражения

Теперь, чтобы возвести в квадрат или в куб некоторое целое число достаточно
исправить начальное присвоение переменной а, и заново запустить программу.
Поэкспериментируйте с этим. Кроме возведения в квадрат и в куб можно
использовать различные выражения, составляемые на основе арифметических
операций: + , — , * , / .

Задания для самоконтроля

  1. Реализуйте вычисление какой-нибудь формулы, использующей все 4 арифметические
    операции. Значение переменной задавайте в программе. Проверьте правильность
    вычисления этой формулы.
  2. Сделайте вычисление формулы от двух переменных. Значения переменных задавайте
    в программе.

В языке Си также имеется возможность более лаконичной записи некоторых часто
используемых конструкций. Так, для увеличения переменной на заданное значение
используется операция += . Получается, что выражение

A += 10;

эквивалентно выражению

A = a + 10;

при этом, аналогичным образом, вместо знака + могут быть также знаки — ,
* , / , а также некоторые другие знаки операций.

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

int
i
= 10;
i = (i * 2 + 1) / 3 — 5; /*
i = 2
*/

i += 5; /*
i = 7
*/

int
j
= 3;
i *= j; /*
i = 21
*/

i /= 7; /*
i = 3
*/

Задание для самоконтроля

  1. Реализуйте вычисление какой-нибудь формулы, использующей указанные
    возможности (более лаконичной формы записи некоторых арифметических
    выражений).

Кроме того, выражение

обозначает увеличение переменной a на 1, что эквивалентно выражению

A = a + 1;

Аналогичным образом, выражение

здесь означает уменьшение на 1.

Важно отметить, что также существуют выражения вида

A++;
a—;

Они также обозначают увеличение на 1 и уменьшение на 1.

Однако, существует разница между префиксной (++a) и постфиксной формами
(a++) в составе более сложных выражений.

В случае префиксной
формы (++a) сначала происходит увеличение (уменьшение) на 1, а
затем вычисление остального выражения.

В случае постфиксной
формы (a++) сначала вычисляется выражение, а затем выполняется
увеличение (уменьшение) на 1.

Это различие иллюстрирует следующий пример.

Рассмотрим этот же фрагмент, где используется ++y (префиксная форма).

int
x
= 10;
int
y
= 2;
x = x * (++y);
printf(«x = %d y = %dn»
, x, y);

X = 30 y = 3

Здесь сначала y за счет ++y получит значение 3, а уже после этого
произойдет умножение 10 на 3.

Рассмотрим этот же фрагмент, где используется y++ (постфиксная форма).

int
x
= 10;
int
y
= 2;
x = x * (y++);
printf(«x = %d y = %dn»
, x, y);

В ходе выполнения этого фрагмента на экране будет выведена следующая строка.

X = 20 y = 3

Здесь сначала произойдет умножение 10 на значение y, равное 2, а уже после этого
произойдет выполнение y++ .

Надо заметить, что в этих фрагментах совсем не обязательно ставить круглые скобки вокруг
++y и y++ .

Задания для самоконтроля

  1. Проверьте выполнение указанных фрагментов программ. Надо учитывать, что это
    всего лишь фрагменты программ. Их надо добавлять внутрь фигурных скобок
    функции main .
  2. Попробуйте в этих фрагментах убрать круглые скобки вокруг ++y и y++ .
    Убедитесь, что результат от этого не изменится.

3.3
Типы целых чисел

Пока мы рассматривали только тип int для целых чисел. Какое предельные
значения могут быть заданы для переменной типа int ?

Гарантированно
можно задавать значения в диапазоне от -32768
до 32767, так как для переменной типа int отводится не меньше
16 бит.

Но в настоящее время вы часто будете встречать реализации компилятора, где для
переменной типа int отводится 32 бита, то есть эта переменная может принимать
значения в диапазоне от -2147483648 до 2147483647.

Однако, можно быть точно уверенным, что диапазон допустимых значений для
переменной x не будет меньше, чем диапазон от -32768 до 32767.

При использовании предложенной версии Code::Blocks и поставляемого с
этой средой компилятора gcc (или ранее установленного аналогичного компилятора),
скорее всего, вы окажитесь в ситуации, когда переменная типа int может
принимать значения из диапазона -2147483648 до 2147483647.

Проверим это с помощью следующего примера.

#include

int
main
()
{
int
x1
= -2147483648;
int
x2
= 2147483647;
printf(«x1 = %d x2 = %dn»
, x1, x2);
}

X1 = -2147483648 x2 = 2147483647

Если это так, то это показывает, что переменная типа int может принимать такие
значения.

Теперь перед строкой printf можно сделать переменной x2 на 1

#include

int
main
()
{
int
x1
= -2147483648;
int
x2
= 2147483647;
++x2;

printf(«x1 = %d x2 = %dn»
, x1, x2);
}

При выполнении данной программы, скорее всего, будет выведена следующая строка.

X1 = -2147483648 x2 = -2147483648

Заметьте, что значение переменной x2 стало отрицательным предельным значением.
Можно сказать, что при попытке добавить 1 к максимальному положительному
значению (значению 2147483647) произошел выход за пределы диапазона и значению
«по кругу» перешло к предельному отрицательному значению (значению -2147483648).
Произошло так называемое переполнение
.

Если увеличивать x2 не на 1, а на 2, то переменная x2 примет значение
-2147483647 (что на 1 отличается от предельного отрицательного значения).
Проверьте это.

Если увеличивать x2 не на 1, а на 3, то переменная x2 примет значение
-2147483646 (что на 2 отличается от предельного отрицательного значения).
Проверьте это.

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

Задания для самоконтроля

  1. Аналогичным образом проверьте переполнение переменной x1 в сторону
    предельного отрицательного значения, то есть при вычитании некоторого числа из
    этой переменной.
  2. Переполнение возникает и при простой попытке присвоить переменой значения,
    которое выходить за пределы разрешенного диапазона. Проверьте это.

Кроме типа int для объявления переменных существует другие целочисленные
типы.

Например, тип long позволяет гарантированно обеспечить -2147483648 до
2147483647 (тип int не дает такой гарантии для всех компиляторов).

Также в современных компиляторах языка C появился тип long long (пишется в два
слова), который отводит 64 бита для переменной. И это соответствует диапазону
чисел от -9223372036854775808 до 9223372036854775807.

Проверим этот тип на примере следующей программы.

#include

int
main
()
{
long
long
x1
= -9223372036854775808;
long
long
x2
= 9223372036854775807;
printf(«x1 = %lld x2 = %lldn»
, x1, x2);

}

X1 = -9223372036854775808 x2 = 9223372036854775807

Заметьте, что в данном случае при вызове функции printf
комбинация символов %lld , а не %d . Это необходимо, чтобы функция printf
правильно отображала большие числа, соответствующие типу long long .

Задания для самоконтроля

  1. Аналогичным образом проверьте переполнение переменных типа long long в
    данном примере (как это было с переменными типа int).
  2. Попробуйте в данном примере в функции printf использовать %d вместо %lld .

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

#include

int
main
()
{
unsigned
int
x1
= 0;
unsigned
int
x2
= 4294967295;
printf(«x1 = %u x2 = %un»
, x1, x2);

}

При выполнении данной программы должна быть выведена строка.

X1 = 0 x2 = 4294967295

Заметьте, что в данном случае при вызове функции printf
комбинация символов %u , а не %d . Это необходимо, чтобы функция printf
правильно отображала числа, соответствующие типу без знака.

Задания для самоконтроля

  1. Аналогичным образом проверьте переполнение переменных типа unsigned int в
    данном примере (как это было с переменными типа int).
  2. Попробуйте в данном примере в функции printf использовать %d вместо %u .
  3. На основе данного примера попробуйте вывести на экран максимальное значение,
    которое может быть записано в переменную типа unsigned long long (а именно
    число 18446744073709551615). Для правильного отображения с помощью функции
    printf используется комбинацию символов %llu (вместо %u).

3.4
Вещественные числа

Для задания вещественных чисел можно использовать тип float или тип double .
При этом переменная типа float занимает 4 байта, а переменная типа double
занимает 8 байт. Поэтому, в целом, тип double обеспечивает более широкий
диапазон возможных чисел и большее количество десятичных разрядов после
десятичной точки, но недостатком его является двойной расход памяти по сравнению
с типом float .

Также есть еще тип long double , и переменная данного типа может занимать от 8
до 16 байт в зависимости от реализации компилятора. Поэтому часто тип long double обеспечивает еще большую точность в обмен на больший расход памяти.

Проверим выполнение следующей программы.

#include

int
main
()
{
double
x
= 10.5;
printf(«x = %fn»
, x);
}

На экране выведется:

X = 10.500000

Заметьте, что вместо %d используется %f , что объясняется использованием
вещественного типа вместо целого. Проверьте, что будет, если поставить %d вместо
%f .

Как убрать лишние нули при выводе числа? Для этого можно указать количество
разрядов после десятичной точки, например, следующим образом.

Printf(«x = %.1f n»
,x);

При этом число после точки указывает на количество разрядов после десятичной
точки. Поэкспериментируйте с этим.

Кроме того, можно задать количество знаков, используемых для вывода числа,
например, можно установить это количество, равным 10, следующим образом.

Printf(«x = %10.1f n»
,x);

Проверьте, что при этом изменится.

Кроме того, вместо буквы f , идущей в сочетании с % , можно использовать букву
е для вывода числа в экспоненциальной форме, а также букву g для
автоматического подбора формата вывода в зависимости от величины числа. Кроме
того, также можно использовать буквы Е и G .

Задания для самоконтроля

  1. Попробуйте различные варианты вывода вещественного числа и посмотрите, что
    при этом получается (в том числе, используйте буквы e и g вместо f в
    сочетании с %).
  2. Определите самостоятельно, к чему приводит использование букв E и G по
    сравнению с буквами e и g .
  3. Реализуйте возведение вещественного числа в квадрат и в куб, обеспечив вывод
    на экран полученных значений. Выберите подходящий формат вывода вещественного
    числа.

Code::Blocks — свободная интегрированная среда разработки (IDE) с отрытым исходным кодом, которая поддерживает использование различных компиляторов. По умолчанию Code::Blocks использует компилятор MinGW, который поставляется в комплекте (можно скачать дистрибутив и без встроенного компилятора). MinGW – это вариант компилятора GNU C/C++ для Windows. MinGW – это сокращение «Minimalist GNU для Windows». Набор MinGW включает инструменты для программирования с открытым исходным кодом, которые не зависят от каких-либо платных сторонних библиотек. Он используется многими средами разработки (Visual Studio использует собственный компилятор). MinGW включает набор GNU Compiler Collection (GCC), включая компиляторы C, C ++, ADA и Fortran. Code::Blocks имеет открытую архитектуру, что позволяет ему масштабироваться за счёт подключаемых модулей (можно писать программы как под windows, linux, так и под различные микропроцессоры типа avr и stm32). Отладчик кода в Code::Blocks поддерживает точки останова в исходном коде или в данных, которые обрабатывает программа.

Code::Blocks доступен под Windows, Linux и Mac OS X. Сайт проекта — codeblocks.org .

Установка компилятора MinGW

Установка самого Code::Blocks не представляет ничего сложного. Желательно только устанавливать его в папку, в пути к которой нет пробелов или кириллицы. Рассмотрим установку компилятора MinGW. Как правило, дистрибутив Code::Blocks содержит старую версию компилятора MinGW, поэтому желательно скачать Code::Blocks без компилятора MinGW и установить компилятор отдельно. Сначала скачиваем инсталлятор с сайта проекта mingw.org . После запуска появится следующее окно.

Нажмимаем Install
и получаем следующее окно.

Здесь в поле Installation Directory
указываем расположение файлов компилятора. По умолчанию это C:MinGW
, его и оставляем. Нажимаем Continue
и начинается загрузка и установка менеджера для установки MinGW.

Нажимаем Continue
и получаем следующее окно.

Для программированя на C++ выбираем для установки пакеты mingw32-base-bin (A Basic MinGW Installation)
и mingw32-gcc-g++-bin (The GNU C++ Compiler)
, а затем жмём в меню Installation -> Apply Changes
. Появится окно, в котором будет отображаться загрузка выбранных пакетов.

По завершении загрузки пакетов нажимаем на кнопку Close

При первом запуске Code::Blocks автоматически обнаружит установленный компилятор. При возникновении проблем необходимо перейти в меню Settings -> Compiler…
и на вкладке Toolchain executables
проверить правильность пути к MinGW, а также имена файлов компилятора и линковщика. Теперь можно создавать проект.

Создание проекта

Для создания проекта необходимо перейти в меню File -> New -> Project…

В появившемся окне выбираем необходимый тип проекта. Здесь мы видим, что Code::Blocks имеет большое количество шаблонов проектов. В нашем случае это Console application
(консольное приложение).

В следующем окне выбираем используемый язык программирования. Выбираем C++ и нажимаем на кнопку Next
.

Далее в поле Project Title
вписываем название проекта. В нашем случае это Test
. Тут же указываем расположение проекта на диске (поле Folder to create project in
). В указанной нами папке Codeblcoks автоматически создаст папку с ранее указанным названием проекта. Указав имя папки и имя файла, нажимаем на кнопку Next
.

В следующем окне выбираем компилятор. По умолчанию выбран GNU GCC Compiler, который мы и будем использовать.

Жмём Finish
и получаем минимальную программу, так называемый Hello World!

Нажмимаем F9 для компиляции и запуска программы и получаем следующее окно.

Поддержка кириллицы в консоли

Код стандартного проекта, генерируемого средой Code::Blocks, не поддерживает ввод и вывод кириллических символов в консоли. Для решения данной проблемы необходимо сначала внести небольшие изменения в код проекта. Пример исходного кода показан ниже.

Исходный код

#include
#include
using namespace std;
int main()
{
SetConsoleCP(1251); // установка кодовой страницы win-cp 1251 в поток ввода
SetConsoleOutputCP(1251); // установка кодовой страницы win-cp 1251 в поток вывода
cout

Далее необходимо запустить программу, щёлкнуть левой кнопкой мыши по заголовку окна (где показывается путь к запущенному.exe файлу) и в контекстном меню выбрать пункт Свойства
. Затем на вкладке Шрифт
установить шрифт Lucida Console
и выбрать удобный размер шрифта. После этого сообщения в консольных приложениях будут поддерживать символы кириллицы.

Code::Blocks — это бесплатная кроссплатформенная среда разработки на языке C/C++. На данный момент это лучшая бесплатная среда разработки на языке Си.

Code::Blocks разрабатывается для Windows, Linux и Mac OS X.

В среде Windows скачать эту среду удобнее всего в составе сборки , в которой уже есть все необходимые библиотеки для начала работы. Сборка не требует установки и работает по принципу: «Распаковал и работай».

Code::Blocks поддерживает следующие компиляторы:

  • GNU GCC (incl. G77) (Linux)
  • MinGW GCC (incl. G77) (Win32)
  • MSP430 GCC (Win32)
  • TriCore and PowerPC GCC (Win32, Linux)
  • Apple GCC (Xcode) (Mac OS X)
  • Microsoft Visual C++ Toolkit 2003 (Win32)
  • Microsoft Visual C++ 2005 (Win32)
  • Borland’s C++ Compiler 5.5 (Win32)
  • DigitalMars C/C++ (Win32)
  • OpenWatcom (Win32)
  • Intel C++ compiler (Win32)
  • Small Device C Compiler (SDCC)
  • Digital Mars D
  • GDC D Compiler
  • LLVM D Compiler

Готовые шаблоны

CodeBlocks имеет готовые шаблоны проектов, которые позволяют быстро создать минимальное приложение.

Редактор кода

Редактор кода обладает всеми возможностями для комфортной работы программиста:

  • Выделение синтаксиса (можно настроить под себя)
  • Интерфейс с вкладками
  • Автозавершение кода
  • Браузер классов
  • Умный отступ
  • Обмен одним кликом между файлами.h и.c / .cpp
  • Пользовательские сочетания клавиш
  • Внешние настраиваемые «Инструменты»
  • Управление списком дел с разными пользователями

Количество настроек редактора просто огромно:

Кроме общих настроек также настраивается:

  • Сворачивание кода
  • Поля и курсор
  • Подсветка синтаксиса (отдельно по типам файлов)
  • Код по умолчанию для создаваемых файлов (можно вставить автоподпись)
  • Сокращения (при вводе сокращения оно автоматически разворачивается в код)
  • Форматирование кода
  • Способ сохранения и возврата к строчкам кода
  • Автодополнение кода
  • Настройка статистики кода
  • Генерация документирования кода
  • и многое другое

Плагины

Возможности редактора могут быть расширены с помощью плагинов. Например:

  • HEX-редактор
  • Диаграммы Насси Шнейдермана
  • Экспорт исходного кода в другие форматы
  • Макросы нажатия клавиш
  • Горячие клавиши для меню
  • Инкрементный поиск
  • Переменные среды
  • и многие другие

Отладчик

В качестве отладчика по умолчанию CodeBlocks использует GDB — самый популярный отладчик для языка Си, который был разработан еще Ричардом Столменом.

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

Итоги

Количество возможностей и настроек среды CodeBlocks позволяют превратить эту среду в отличный инструмент Си-программиста.

Интегрированная среда разработки (IDE) Code::Blocks (далее CB) представляет собой полноценный продукт для разработки приложений на языке C/C++. CB – это кроссплатформенная среда, разработанная с использованием библиотеки инструментов wxWidgets. Имеются версии среды как для Windows, так и для других операционных систем (ОС) — Linux и Mac OS. Эта IDE абсолютно бесплатна, имеет открытый исходный код и построена полностью с использованием открытых технологий. Одним из самых сильных сторон CB является поддержка создания приложений wxWidgets – т. е. такого программного обеспечения (ПО), которое для отрисовки графического пользовательского интерфейса (GUI) использует API ОС. Другими словами, CB позволяет создавать кроссплатформенное ПО на любой вкус.

CB умеет работать с большим количеством компиляторов. Если в системе их установлено несколько — можно с лёгкостью переключаться между ними, в зависимости от потребности. Плюс ко всему, IDE сама на этапе установки просканирует систему на наличие доступных компиляторов и предложит задействовать один как основной. Доступна возможность позже изменять эти настройки как глобально, так и отдельно для проектов. Для глобальных настроек среды существует целый раздел «Settings» в главном меню CB. Чтобы внести какие-либо специфические настройки, характерные для конкретного проекта, нужно открыть окно свойств проекта. Для этого необходимо вызвать контекстное меню проекта, кликнув по нему правой клавишей мыши, и выбрать пункт «Properties». Сами проекты (открытые в данный момент в IDE) выведены в виде дерева в док-панели «Management», в её вкладке «Projects». Теперь, в открывшемся окне свойств можно настраивать самые разнообразные параметры, начиная от редактирования целей сборки и заканчивая подключением сторонних библиотек. Кнопка «Project’s build options» на вкладке «Project Settings» того же окна свойств позволит очень гибко настроить для конкретного проекта конфигурацию сборки: ключи компилятора, выбрать сам компилятор, подключить библиотеки для линковщика и т. п. Всё это можно проделать для отдельных режимов: «Release» «Debug».

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

Подсветка, автодополнение кода и средства редактирования в CB делают процесс работ с кодом лёгким и комфортным. Огромный арсенал настроек позволяет очень тонко настраивать среду «под себя». Очень полезным является наличие поддержки работы с переменными окружения. Благодаря этой возможности CB можно очень тесно интегрировать в систему и расширять его возможности, например, таким образом можно подключать библиотеку wxWidgets.

Кстати, для разработки приложений с GUI на основе wxWidgets в CB есть встроенный RAD-инструмент для конструирования GUI – wxSmith. Это довольно мощная утилита, хотя и не совсем простая в освоении.

Cb_splash

Интегрированная среда разработки (IDE) Code::Blocks (далее CB) представляет собой полноценный продукт для разработки приложений на языке C/C++. CB – это кроссплатформенная среда, разработанная с использованием библиотеки инструментов wxWidgets. Имеются версии среды как для Windows, так и для других операционных систем (ОС) — Linux и Mac OS. Эта IDE абсолютно бесплатна, имеет открытый исходный код и построена полностью с использованием открытых технологий. Одним из самых сильных сторон CB является поддержка создания приложений wxWidgets – т. е. такого программного обеспечения (ПО), которое для отрисовки графического пользовательского интерфейса (GUI) использует API ОС. Другими словами, CB позволяет создавать кроссплатформенное ПО на любой вкус.

Main window

CB умеет работать с большим количеством компиляторов. Если в системе их установлено несколько — можно с лёгкостью переключаться между ними, в зависимости от потребности. Плюс ко всему, IDE сама на этапе установки просканирует систему на наличие доступных компиляторов и предложит задействовать один как основной. Доступна возможность позже изменять эти настройки как глобально, так и отдельно для проектов. Для глобальных настроек среды существует целый раздел «Settings» в главном меню CB. Чтобы внести какие-либо специфические настройки, характерные для конкретного проекта, нужно открыть окно свойств проекта. Для этого необходимо вызвать контекстное меню проекта, кликнув по нему правой клавишей мыши, и выбрать пункт «Properties». Сами проекты (открытые в данный момент в IDE) выведены в виде дерева в док-панели «Management», в её вкладке «Projects». Теперь, в открывшемся окне свойств можно настраивать самые разнообразные параметры, начиная от редактирования целей сборки и заканчивая подключением сторонних библиотек. Кнопка «Project’s build options» на вкладке «Project Settings» того же окна свойств позволит очень гибко настроить для конкретного проекта конфигурацию сборки: ключи компилятора, выбрать сам компилятор, подключить библиотеки для линковщика и т. п. Всё это можно проделать для отдельных режимов: «Release» «Debug».

Settings

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

Подсветка, автодополнение кода и средства редактирования в CB делают процесс работ с кодом лёгким и комфортным. Огромный арсенал настроек позволяет очень тонко настраивать среду «под себя». Очень полезным является наличие поддержки работы с переменными окружения. Благодаря этой возможности CB можно очень тесно интегрировать в систему и расширять его возможности, например, таким образом можно подключать библиотеку wxWidgets.

Кстати, для разработки приложений с GUI на основе wxWidgets в CB есть встроенный RAD-инструмент для конструирования GUI – wxSmith. Это довольно мощная утилита, хотя и не совсем простая в освоении.

Подводя итог, нужно сказать, что IDE Code::Blocks – настоящая находка для разработчиков на C/C++. А бесплатное использование и кроссплатформенная поддержка всех современных ОС делает его, на сегодняшний день, самой популярной IDE в своём сегменте, уступая, разве что, Visual Studio.

Понравилась статья? Поделить с друзьями:
  • Этоксамин дезинфицирующее средство инструкция по применению
  • Mj 600 plus turbo инструкция на русском языке
  • Siemens eq 6 plus s700 инструкция
  • Как самому построить беседку на даче пошаговая инструкция
  • Мультиварка редмонд инструкция по приготовлению плова