DC-SWAT Forum
Яп Си (без ++) - Версия для печати

+- DC-SWAT Forum (http://www.dc-swat.ru/forum)
+-- Форум: Sega Dreamcast (/forum-2.html)
+--- Форум: Programming (/forum-8.html)
+--- Тема: Яп Си (без ++) (/thread-2034.html)

Страниц: 1 2


Яп Си (без ++) - leonid - 22.06.2013 16:32

Всем привет! Smile
Перечитал весь форум в поисках информации о том
на чём и как создавать игры под Dream.(Такие идеи давненько уже были)
Сначала хотел изучать C++,но прислушался
твоему совету и начал копать инфу по Си.
В итоге нашёл только одну толковую книгу книгу от
Брайана Кернигана и Денниса Ритчи -
"Язык программирования C (Второе издание)"
Искал компилятор и различного рода инструментарий для Си.
Нигде нет именно Си,одни плюсы.
В общем я прошу помочь мне с компилятором и хорошей литературой.



RE: Яп Си (без ++) - leonid - 22.06.2013 20:15

Случайно наткнулся на замечательный ресурс !
http://bookfi.org/ - электронная библиотека.
В поиске ввёл "Кериган".
По литературе вопросов нет.
Остался компилятор.... Smile


RE: Яп Си (без ++) - SI{AY - 23.06.2013 08:16

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


RE: Яп Си (без ++) - SWAT - 23.06.2013 13:42

Причем здесь программирование для DS? Разделом не ошиблись?


RE: Яп Си (без ++) - leonid - 23.06.2013 13:54

да,случайно)

(23.06.2013 08:16)SI{AY писал(а):  можно и студией той же компилить
тоесть визуал студио подойдёт?


RE: Яп Си (без ++) - SWAT - 23.06.2013 18:45

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


RE: Яп Си (без ++) - leonid - 23.06.2013 19:35

Я честно говоря всё еще не могу определиться,вроде си хороший но на с++ материала больше в интернете по нему...
незнаю...


RE: Яп Си (без ++) - Rio - 23.06.2013 21:23

Как бы тебе объяснить, Леонид, это немного разные языки.
Си - придуман Керниганом и Ричи, с момента своего изобретения пережил несколько канонизаций и стандартизаций, последний стандарт, если мне не изменяет память, вышел в 2011 году. Применяется в основном для написания драйверов, низкоуровневых вещей, и как следствие, в embedded-системах (на микроконтроллерах, всякие там модкли управления светофором, кофейные автоматы, инсулиновые помпы, и т.п.) - т.к. включает минимум оверхеда и генерит самый компактный код.
Плюсы - совсем другая тема. Плюсы придуманы Страуструпом, как мультипарадигменный язык. Имеет возможности для ООП-программирования и по-сути является монстром с кучей всяких стремных фич и особенностей поведения. Аналогично с Си, пережил несколько стандартизаций и имеет несколько действующих стандартов.

Я думаю тебе реально стоит начать с Си.


RE: Яп Си (без ++) - leonid - 24.06.2013 19:37

Rio,спасибо.
значит си.


RE: Яп Си (без ++) - SWAT - 25.06.2013 07:39

Если грубо, то C++ это тот же Cи, только с ООП пристройками. Логичней было бы конечно начинать с Си, к тому же все ядро KOS (и DS) написано именно на Си.
А уже всякие GUI и движки для игр, пишутся на C++, ибо ООП в таких задачах действительно полезная вещь.


RE: Яп Си (без ++) - Rio - 25.06.2013 15:54

Ну и в качестве последнего довода в сторону Си, это то что gcc компилит крайне хреновый код для плюсов на sh4.
ЗЫ.
>тоесть визуал студио подойдёт?
Вижуал студио не подойдет по той причине что в ней есть компилятор C++, но нет компилятора Си. К тому же он (тот что для плюсов) не компилит в Sh4.


RE: Яп Си (без ++) - leonid - 25.06.2013 17:36

А на Си написать игровой движок не получится?
Если можно напишите по подробней...)

И еще,пожалуйста,что мне нужно скачать чтобы были все библиотеки си?
Code blocks есть,думаю он то что мне нужно.
Не разберусь никак откуда брать библиотеки,желательно с последней редакцией С11...


RE: Яп Си (без ++) - leonid - 25.06.2013 17:47

Скачал еще недавно DC Dev ISO R4,но он в cdi...
И статью Alex на dcfan.
Там я заметил компилятор Си и Си++,плюс для ассемблера еще есть.
Остаётся лишь потихоньку изучать Си и функции DC dev,только где взять справочник.. Big Grin


RE: Яп Си (без ++) - Rio - 25.06.2013 18:17

>А на Си написать игровой движок не получится?
Получится. Но тебе за это браться не стоит. Сначала Hello world напиши. Потом че-нибудь еще посложнее. И так далее. Когда подобные вопросы перестанешь задавать, тогда сможешь браться за движок.
>И еще,пожалуйста,что мне нужно скачать чтобы были все библиотеки си?
О каких библиотеках ты ведешь речь?
Стандартные библиотеки Си идут в поставке с любым компилятором. В Dc Dev iso r4 идет GCC. Они там есть, хотя версия компилятора и самой KOS там бесконечно устарели конечно же.
>Code blocks есть,думаю он то что мне нужно.
Кодеблокс это IDE, а не компилятор. Она идет в варианте как чисто IDE и IDE с компилятором GCC скомпиленным под MinGW для платформы i686. Как сам понимаешь, собирать программы таким компилятором под Дрим не получится.
А вот использовать саму IDE, да, можно.
>Не разберусь никак откуда брать библиотеки,желательно с последней редакцией С11...
На вопрос про библиотеки я уже ответил, последняя редакция С тебя интересовать не должна - не на том ты уровне еще, чтобы реально оценить и использовать тк фичи, предлагаемые этим стандартом. К тому же поддержка стандарта - это вопрос к производителям компилятора, а не библиотек.
>только где взять справочник
Справочник по функциям KOS лежит здесь: http://cadcdev.sourceforge.net/docs/kos-2.0.0/
Это автоматически сгенеренная документация, фактически все это есть в коментах в самих исходных файлах (ибо из них же и сгенерено).
По Си есть куча учебников на трекере.
Статья Алекса это просто перевод документации с диска DC Dev.
дерзай.


RE: Яп Си (без ++) - leonid - 25.06.2013 19:32

Спасибо,Rio!Smile


RE: Яп Си (без ++) - cybdyn - 25.06.2013 20:00

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


RE: Яп Си (без ++) - Rio - 25.06.2013 21:13

И да, +1 к тому что сказал cybdyn.


RE: Яп Си (без ++) - leonid - 25.06.2013 21:56

конешно конешно!
по другому никак! Smile


RE: Яп Си (без ++) - SWAT - 26.06.2013 06:24

(25.06.2013 20:00)cybdyn писал(а):  програмировать лучше учиться на платформе домашнего компа, а потом уже переходить на присты...
для компа есть хорошие среды разработчика - там и отладчики и много чего. а как принцип поймёшь дальше по списку.
а так будет не совсем правильное предстаевление...моё мнение

Ну здесь спорная на самом деле ситуация. Дело в том что под домашний комп на столько легко и просто что-то писать и отлаживать, что все низкоуровневые процессы вообще обходят стороной программиста, он даже не подозревает что там вообще твориться, у него все через редактор кнопочками управляется и он даже не парится. В случае с embedded системами (консолями в том числе), все не так просто. Полноценные IDE с SDK есть только у официалов, а обычные же люди пользуются куда более простыми инструментами и как правило с очень ограниченными возможностями.
Я что хочу сказать то. Программированием под домашний комп, можно познать только синтаксис языка и стандартные библиотеки и на этом все. А это на самом деле займет от 2-х дней до 2-х недель (в зависимости от опыта), а дальше уже тупик. Если стоит цель научится программировать именно под консоли, то задерживаться на компе не стоит.
И представление о программировании и сборке будет куда более полное именно после того, как ты начнешь возиться с такими задачами, как например написание makefile. В случае с компом же, там все это делает IDE, а значит нет полноты картины всего процесса. Конечно это не зря было скрыто, это облегчение жизни программистам, но в случае с embedded это придется изучить как не крути, ты же не под винду писать собрался.


RE: Яп Си (без ++) - leonid - 26.06.2013 17:34

Да,хотелось бы написать игру под дрим...
Воздать дань консоли детства так сказать и за одно получить опыт.
Это дико сложно..)))
Но мы же не ищем лёгких путей,правда?..