Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Turbo C или аналог  (Прочитано 4213 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Gabriel

  • Автор темы
  • Новичок
  • *
  • Сообщений: 17
  • Linux sux Windows
    • Просмотр профиля
Turbo C или аналог
« : 05 Ноября 2007, 12:33:48 »
Всем доброго время суток!
1. Почитал форум, но не нашел ответ. Учусь в универе, и сеичас у нас курс по азам С. В Винде знал програмку  Turbo C, написал-скомпилировал-запустил. В Ubuntu (7.10) почитал разные аналоги, но во всех (gedit, SciTI, Kdevelop) аналогах не нашел эти функции (compile, build, run). Не ужели надо каждыи раз запускать внешнии компилятор? Или есть чтото интегрированое?
2. Програма использует библиатеку conio.h, компилятор ее не находит. Сам фаил (под Turbo C) у меня есть. В какую папку ее надо переписать?

Зарание большое спасибо!

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: Turbo C или аналог
« Ответ #1 : 05 Ноября 2007, 12:40:07 »
sudo apt-get install build-essential
все есть на диске с которого устанавливал Ubuntu. если обновлялся то есть вероятность что Ubuntu захочет сдернуть с инета обновленную версию. пошамань, почитай форум я где-то описывал как установить именно то что на диске.
conio.h - жуткая вещь. оно не портабельно. в линуксе работать никогда не будет. говори что конкретно ты хочешь от этого заголовочника а я подскажу где взять альтернативу.
Если учат азам то лучше учиться. командная строка позволяет понять что да как.
Код: (написал-скомпилировал-запустил) [Выделить]
vim proga.c
gcc proga.c
./a.out
:2funny:

Что-то на подобии Turbo C - sudo apt-get install motor

Можно и самому из vim сделать примитивную IDE где прописать свои любимые кнопочки
map <F9> <Esc>:w<CR>:make<CR>
map <F2> <Esc>:w<CR>
map <F10> <Esc>:q<CR>
« Последнее редактирование: 05 Ноября 2007, 12:45:16 от Yurror »

Thread

  • Гость
Re: Turbo C или аналог
« Ответ #2 : 05 Ноября 2007, 12:42:04 »
1. есть много IDE, например, Anjuta, Code::Blocks. Кстати, из  gedit тоже можно вызывать make
2. Файл conio.h не входит ни в один стандарт C. Turbo C сам виноват в том, что его программы не портабельные. Хедеры, которые соответствуют стандартам - это stdio.h в C и iostream+fstream в C++. Их и надо использовать. Если же всё-таки имеется желание использовать conio.h, то надо поискать в интернете враппер conio.h -> stdio.h

Код: (написал-скомпилировал-запустил) [Выделить]
vim proga.c
gcc proga.c
./a.out
:2funny:
Я бы не рекомендовал так "просто". Лучше использовать ключи, которые позволяют обнаружить больше ошибок, а так же явно указывать стандарт - так легче потом будет собрать программы на другой платформе. Ключи, которые обычно использую я - это
gcc -o file -xc file.c -Wall -Wextra --pedantic -std=c99 -ggdb -O0
« Последнее редактирование: 05 Ноября 2007, 12:44:47 от a-v »

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: Turbo C или аналог
« Ответ #3 : 05 Ноября 2007, 12:48:27 »
Много ключей он освоит потом.
Тем более умолчальные настройки gcc/g++ таковы что если не усердствовать с библиотеками и разными извратами все будет нормально компилиться в винде на компиляторах студии/борланда/mingw
для студенческих рабоат вполне хватает стандартной библиотеки.
А если хочет красивую среду - NetBeans

Thread

  • Гость
Re: Turbo C или аналог
« Ответ #4 : 05 Ноября 2007, 12:53:49 »
Много ключей он освоит потом.
Тем более умолчальные настройки gcc/g++ таковы что если не усердствовать с библиотеками и разными извратами все будет нормально компилиться в винде на компиляторах студии/борланда/mingw

Не согласен.

1. Без этих ключей компилятор просто пропустит много ошибок, и разбирайся потом, почему не работает.
2. Дефолтные настройки gcc подразумевают включение расширений GNU. Это означает, что написанная программа будет собираться в gcc, но не будет в MSVC++, например.
« Последнее редактирование: 05 Ноября 2007, 14:12:51 от a-v »

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: Turbo C или аналог
« Ответ #5 : 05 Ноября 2007, 13:24:21 »
Боже, ему до всяких расширений как до Индии пешком. Так что с этим то какраз порядок.
А вот за for (int i =0;... в сишных исходниках будет бить по башке. нормально.
И всетаки примеры вы не привели.

Thread

  • Гость
Re: Turbo C или аналог
« Ответ #6 : 05 Ноября 2007, 14:12:43 »
Я про то, что кто-то может их использовать, даже не заметив. Если мало опыта программирования, то очень легко что-то найти в сетке и использовать, даже не зная, что это не соответствует стандарту. Например: люди, мигрирующие с паскаля, очень запросто могут воспользоваться таким расширением GNU:

switch (a)
{
    case 1 ... 10: { statements; }
}
В итоге код получается непортабельный.

Это прокатывает без предупреждений с командной строкой gcc file.c, но не прокатывает с gcc file.c -Wall -Wextra --pedantic -std=c99

P.S. А for (int i = 0;;);, равно как и объявление переменных в середине функции, я использую очень активно, одна из моих любимейших фишек в ISO C99 :)

Оффлайн Gabriel

  • Автор темы
  • Новичок
  • *
  • Сообщений: 17
  • Linux sux Windows
    • Просмотр профиля
Re: Turbo C или аналог
« Ответ #7 : 05 Ноября 2007, 17:58:27 »
Огромное спасибо за оперативныи ответ, очень благодарен.
conio.h содержит clrscr которыи мне собствено и нужен.... Проблемка еще одна - лектор сказал писать только то что понимает ANSI C, на вопрос что это? сказал пользуитесь Turbo C, и все будет в порядке. В програмировании я на очень начальнои стадии, и дальше Монитора в Дебаге не доходил, так что
Цитировать
Лучше использовать ключи, которые позволяют обнаружить больше ошибок
для меня это китаиская грамота.  :-[

Thread

  • Гость
Re: Turbo C или аналог
« Ответ #8 : 05 Ноября 2007, 18:04:27 »
гыгы. Turbo C не поддерживает ANSI C, в частности, из-за того же conio.h (препода можно идти убивать). А вот gcc умеет работать в таком режиме, просто вместо -std=чегототам надо воткнуть -ansiили-std=c89  :)
« Последнее редактирование: 05 Ноября 2007, 18:10:59 от a-v »

Оффлайн Gabriel

  • Автор темы
  • Новичок
  • *
  • Сообщений: 17
  • Linux sux Windows
    • Просмотр профиля
Re: Turbo C или аналог
« Ответ #9 : 05 Ноября 2007, 20:30:56 »
А где мнe clrscr наити? :) Кстати мне geany понравился

Thread

  • Гость
Re: Turbo C или аналог
« Ответ #10 : 05 Ноября 2007, 21:08:27 »
в stdio.h, да и в стандарте C вообще аналог этой функции отсутствует. К тому же, функция совсем не нужна для начального изучения C - консольная программа обычно ничего не очищает, а просто выводит строку за строкой - этого достаточно.

Если же всё-таки требуется позарез, то надо использовать библиотеку ncurses, но этого я очень не рекомендую.

Оффлайн Gabriel

  • Автор темы
  • Новичок
  • *
  • Сообщений: 17
  • Linux sux Windows
    • Просмотр профиля
Re: Turbo C или аналог
« Ответ #11 : 05 Ноября 2007, 22:22:15 »
Спасиб

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: Turbo C или аналог
« Ответ #12 : 06 Ноября 2007, 11:04:49 »
a-v, да.. сорри. про С99 как-то вылетело из головы.

 

Страница сгенерирована за 0.045 секунд. Запросов: 25.