Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++: IDE, инструментарий
Войти
Регистрация
Восстановить пароль
 
Olej
322 / 170 / 24
Регистрация: 25.03.2012
Сообщений: 712
#1

Создание проектов на C и C++ в Code::Blocks - C++ IDE

05.02.2016, 16:37. Просмотров 1176. Ответов 12
Метки нет (Все метки)

Несколько удивляет, что в темах по кроссплатформенной разработке (якобы) нет такой отдельной темы как Code::Blocks.
Который и MinGW сам установит. И позволит проекты создать под самые разнообразные target, кроме простейших консольных Linux+Windows ... : и под Windows GUI, ... и под разные другие.
(картинку прикрепил только для того, чтобы напомнить как выглядит Code::Blocks)

http://www.cyberforum.ru/cpp-ide-tools/thread1517740.html
Приятной неожиданностью, для меня, стало то, что некоторы российские университеты и преподаватели стали рекомендовать Code::Blocks как среду для выполнениястуденческих заданий.
Почему приятной?
Потому что язык C (который некоторые изучают) нельзя вообще и принципально изучать под Windows, а C++ так же безобразно изучать в среде MS Visual Studio.
Я понимаю, что преподаватели, в силу своего непрофессионализма в практике программирования,не знают Linux/UNIX/POSIX.
А тут есть промежуточная среда (Code::Blocks), которая может служить "мостиком" между POSIX & Windows.
0
Миниатюры
Создание проектов на C и C++ в Code::Blocks  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.02.2016, 16:37
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Создание проектов на C и C++ в Code::Blocks (C++ IDE):

Ошибка в Code::Blocks
Скачал я, значит, Code::Blocks на Linux. Создал проект, попытался собрать и...

Удобная работа в Code::Blocks
Столкнулся с маленькой проблемкой: нужно мониторить два файла в два столбика,...

Code::Blocks 13.12 не находит компилятор
проблема с запуском программы The compiler's setup (GNU GCC Compiler) is...

Как настроить Code::Blocks?
Ну я подключаю open gl в Code Blocks в include скинул headers файлы lib в lib...

Code::Blocks Не работает GDB
Не могу дебажить программу. Точки останова просто "проскакиваются". Вот что...

12
Убежденный
Ушел с форума
Эксперт С++
15941 / 7252 / 1176
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
05.02.2016, 17:57 #2
Цитата Сообщение от Olej Посмотреть сообщение
язык C (который некоторые изучают) нельзя вообще и принципально изучать под Windows
Цитата Сообщение от Olej Посмотреть сообщение
C++ так же безобразно изучать в среде MS Visual Studio.
А можно подкрепить эти утверждения какими-то разумными доводами?
Или мы, пардон, в священных войнах?
4
Olej
322 / 170 / 24
Регистрация: 25.03.2012
Сообщений: 712
05.02.2016, 18:15  [ТС] #3
Цитата Сообщение от Убежденный Посмотреть сообщение
Цитата Сообщение от Olej Посмотреть сообщение
язык C (который некоторые изучают) нельзя вообще и принципально изучать под Windows
Цитата Сообщение от Olej Посмотреть сообщение
C++ так же безобразно изучать в среде MS Visual Studio.
А можно подкрепить эти утверждения какими-то разумными доводами?
Или мы, пардон, в священных войнах?
Элементарно, месье ...
Подкрепляем:
- язык C создавался только для написания новой операционной системы UNIX ... и только потом, через пень-колоду, начал как-то использоваться в других окружениях
- то, что называют по глупости "стандартная библиотека C" - это стандарты POSIX API, стандарты API UNIX систем ... многие из которых просто не имею никаких аналогов в Windows окружении (fork(), pthread_t(), сигналы, терминальная подсистема и мн.др.), а Win32 API вынужден городить какие-то свои костыли, как thread, например...
Это относительно C ... это только чуть-чуть, там гораздо больше.

Относительно C++:
- Visual Studio нагораживает своих понятий,сущностей и API сверх стандартов C++: MFC, оконная система, какие-то консольные приложения поведением IO и локализаций от стандартов языка C++ ... и прочее говно...
- и это множество мусора вуалирует, затмевает собственно детали C++
А вот изучив C++, хотя бы на уровне обстоятельных основ в нормальной среде - можете программировать в любой среде, и везде будете чувствовать себя комфортно.
0
Убежденный
Ушел с форума
Эксперт С++
15941 / 7252 / 1176
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
05.02.2016, 19:23 #4
Цитата Сообщение от Olej Посмотреть сообщение
- язык C создавался только для написания новой операционной системы UNIX ... и только потом, через пень-колоду, начал как-то использоваться в других окружениях
Что вовсе не мешает изучать его в этих окружениях, ибо есть стандарт языка,
который на большинстве платформ и компиляторов реализуется более-менее одинаково.

- то, что называют по глупости "стандартная библиотека C" - это стандарты POSIX API, стандарты API UNIX систем ... многие из которых просто не имею никаких аналогов в Windows окружении (fork(), pthread_t(), сигналы, терминальная подсистема и мн.др.), а Win32 API вынужден городить какие-то свои костыли, как thread, например...
Вырисовывается холивар на тему "WinAPI vs POSIX". Зачем? Это разные API,
созданные разными людьми в разные эпохи и под разные задачи. Они просто разные.

Относительно C++:
- Visual Studio нагораживает своих понятий,сущностей и API сверх стандартов C++: MFC, оконная система, какие-то консольные приложения поведением IO и локализаций от стандартов языка C++ ... и прочее говно...
Ничего она не нагораживает. Создал пустой консольный проект Win32 и пиши себе,
никто не заставляет насильно брать MFC/ATL, stdafx.h, CString, C++/CLI и т.п.
Я, например, довольно часто пишу на "голом" C или C++, используя только
стандартную библиотеку и API системы.

- и это множество мусора вуалирует, затмевает собственно детали C++
А вот изучив C++, хотя бы на уровне обстоятельных основ в нормальной среде - можете программировать в любой среде, и везде будете чувствовать себя комфортно.
Забавный вывод.
Т.е. среда первична, а не человек?
Попадая в "неправильную" среду, мы обречены, да?
Что ж, мне жаль таких "программистов".
1
Olej
322 / 170 / 24
Регистрация: 25.03.2012
Сообщений: 712
05.02.2016, 19:37  [ТС] #5
{вырезано}
Цитата Сообщение от Убежденный Посмотреть сообщение
Что вовсе не мешает изучать его в этих окружениях, ибо есть стандарт языка,
который на большинстве платформ и компиляторов реализуется более-менее одинаково.
На "большинстве" - да, на Windows - нет.

Цитата Сообщение от Убежденный Посмотреть сообщение
Я, например, довольно часто пишу на "голом" C или C++, используя только
стандартную библиотеку и API системы.
Кому и кобыла - невеста.
0
Убежденный
Ушел с форума
Эксперт С++
15941 / 7252 / 1176
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
05.02.2016, 21:43 #6
Цитата Сообщение от Olej Посмотреть сообщение
На "большинстве" - да, на Windows - нет.
Приведи, пожалуйста, пункты, по которым компиляторы на Windows, да
хотя бы тот же MinGW, чем-то существенно отличается от своих аналогов
на других платформах.
0
Olej
322 / 170 / 24
Регистрация: 25.03.2012
Сообщений: 712
05.02.2016, 22:03  [ТС] #7
Цитата Сообщение от Убежденный Посмотреть сообщение
Приведи, пожалуйста, пункты, по которым компиляторы на Windows, да
хотя бы тот же MinGW, чем-то существенно отличается от своих аналогов
http://www.cplusplus.com/reference/iostream/wcout/
A program should not mix output operations on wcout with output operations on cout (or with other narrow-oriented output operations on stdout): Once an output operation has been performed on either, the standard output stream acquires an orientation (either narrow or wide) that can only be safely changed by calling freopen on stdout.
Это стандарт говорит? Да ... это стандарт говорит ...

А теперь ... а-а-але-оп! :
А это - Visual Studio говорит... : "Ой! Полная [несоответствие ожиданиям] получилась"

И так - миллион раз в миллионе мест.. (дуракам ... читай Microsoft - закон не писан)
0
Миниатюры
Создание проектов на C и C++ в Code::Blocks  
Убежденный
Ушел с форума
Эксперт С++
15941 / 7252 / 1176
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
05.02.2016, 22:16 #8
Цитата Сообщение от Olej Посмотреть сообщение
Это стандарт говорит? Да ... это стандарт говорит ...
Пункт стандарта, пожалуйста. Сходу не нашел.

И еще у меня вопрос такой: почему ты выдаешь за C++ код, содержащий "array<System::String^>"
(видно на скрине), хотя он не является C++? Только не надо говорить, что это "Студия" насаждает.
0
Olej
322 / 170 / 24
Регистрация: 25.03.2012
Сообщений: 712
05.02.2016, 22:53  [ТС] #9
Цитата Сообщение от Убежденный Посмотреть сообщение
Пункт стандарта, пожалуйста. Сходу не нашел.
Я же ссылку на справочник дал?
А пункт ... это уж сам поищи ... а то всё только бла-бла-бла

Добавлено через 4 минуты
Цитата Сообщение от Убежденный Посмотреть сообщение
И еще у меня вопрос такой: почему ты выдаешь за C++ код, содержащий "array<System::String^>"
Ой, блин ... знаток ...
Это - сгенерированный шаблон Visual Studio 2010 Profesinal ... для консольного приложения Windows.
Почему так? А это ты у него спроси ... я в этом не силён ... ну, слабо я различаю, зрением плох.
0
Dmitriy_M
1410 / 1293 / 124
Регистрация: 20.03.2009
Сообщений: 4,605
Записей в блоге: 11
06.02.2016, 12:41 #10
Цитата Сообщение от Olej Посмотреть сообщение
то, что называют по глупости "стандартная библиотека C" - это стандарты POSIX API,
В далеком 1988 году в стандарт POSIX внесен стандарт ANSI C
0
Убежденный
Ушел с форума
Эксперт С++
15941 / 7252 / 1176
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
06.02.2016, 15:09 #11
Цитата Сообщение от Olej Посмотреть сообщение
Я же ссылку на справочник дал?
А пункт ... это уж сам поищи ... а то всё только бла-бла-бла
Хорошо. Я нашел следующее:
C++14, 27.4.3
Mixing operations on corresponding wide- and narrow-character streams follows
the same semantics as mixing such operations on FILEs, as specified in Amendment 1
of the ISO C standard.
A brief description of Normative Addendum 1
http://www.lysator.liu.se/c/na1.html
Input and output

Each stream has associated with it an object of type mbstate_t, and an orientation;
it can be byte*oriented, wide*oriented, or unoriented. When a stream is opened
(including stdin etc., and calls to freopen), it is unoriented. The functions ungetc,
fgetc, fputc, and those defined to work though them, change an unoriented stream to
byte*oriented, and shall not be called on a wide*oriented stream. The functions
ungetwc, fgetwc, fputwc, and those defined to work though them, change an unoriented
stream to wide*oriented, and shall not be called on a byte*oriented stream.

Wide binary streams shall obey the positioning restrictions of both text and binary streams.
Positioning a wide*oriented stream within the middle of an existing character
representation and then writing makes all following contents undefined.
Стандарт языка говорит, что в случае смешивания cout и wcout поведение не определено (UB).
А UB означает, что реакция компилятора/платформы в такой ситуации не регламентирована.
В одних окружениях это будет работать, в других нет, в третьих вообще может привести к
аварийному завершению программы.

Так что отступлений от стандарта компилятора MS C++ Compiler я здесь не увидел.

Да, не спорю, у MS поддержка стандарта C++ более отсталая, но никто не мешает (под
Windows!) использовать тот же MinGW или Clang, которые в этом отношении заметно впереди.

Цитата Сообщение от Olej Посмотреть сообщение
Ой, блин ... знаток ...
Это - сгенерированный шаблон Visual Studio 2010 Profesinal ... для консольного приложения Windows.
Все верно. Только при чем здесь C и C++ тогда, если это шаблон для C++/CLI
(managed-язык с плюсовым синтаксисом под платформу .NET)?

Повторю: никто не мешает создавать консольные проекты Win32 (не CLI) и писать в
соответствии со стандартом, и IDE тут вообще никаким боком.

--------

Если будет желание (и возможность) продолжить дискуссию, не выходя за рамки - welcome.
2
gng
08.02.2016, 09:32
  #12

Не по теме:

Убежденный, Нисколько не поддерживая синьора Olej в его позиции о технической неприемлемости Венды для изучения Си, и тем более в его вульгарных "наездах", тем не менее тоже полагаю, что при изучении программирования в школах и университетах следует отдать предпочтение открытым компиляторам и средам разработки. Хотя бы ради независимости. Присоединится МС к санкциям и прекратит поддержку своих продуктов, а тут уже целый пласт в системе образования на них подсел.
Ну и во вторых, окрытый исходный код - это возможность решить практически любую проблему на месте, не обращаясь в службу поддержки.

0
Croessmah
++Ͻ
14147 / 8072 / 1512
Регистрация: 27.09.2012
Сообщений: 19,907
Записей в блоге: 3
Завершенные тесты: 1
08.02.2016, 17:00 #13
Цитата Сообщение от Olej Посмотреть сообщение
Несколько удивляет, что в темах по кроссплатформенной разработке (якобы) нет такой отдельной темы как Code::Blocks.
Делать по каждой IDE свою ветку нет смысла, они умрут не родившись,
а вот организовать тему с FAQ по Code::Blocks в принципе можно.
Возьму на заметку.
Цитата Сообщение от Olej Посмотреть сообщение
Приятной неожиданностью, для меня, стало то, что некоторые российские университеты и преподаватели стали рекомендовать Code::Blocks как среду для выполнения студенческих заданий.
Ничего удивительного. Среда простая как рубаха

И не важно что было когда-то,
а важно лишь то, что есть сейчас.
А сейчас мы имеем две разные системы
(это я про системы на базе Linux и Windows),
каждая со своими особенностями,
стандартами, костылями и возможностями.
Сравнивать их между собой как-то не очень.
А вот изучать можно что угодно, и там и там.
0
08.02.2016, 17:00
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.02.2016, 17:00
Привет! Вот еще темы с решениями:

Не работает SFML на Code::Blocks
Debug.

Подскажите с настройками Code::Blocks
Здравствуйте! Начинаю изучать C++. Скачал с офсайта Code::Blocks 16.01...

Исчезло workspace в Code::Blocks
Такая проблема, в меню где раньше было workspace когда нажимаешь на проект не...

Code::Blocks - не компилируются программы на C++
Здравствуйте. Есть такая проблема, посоветуйте её решение. В 7 классе изучается...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru