Форум программистов, компьютерный форум, киберфорум
C/С++ под Linux
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
45 / 44 / 1
Регистрация: 11.07.2012
Сообщений: 1,024

Чистый Си хорошо подходит для прикладных программ?

17.08.2016, 15:06. Показов 2742. Ответов 18
Метки нет (Все метки)

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

Добавлено через 2 часа 53 минуты
Нашел только библиотеку GTK - набор утилит для редактора GIMP, GIMP это почти фотошоп, так что библиотека наверно хорошая, может статьи есть про графику какие то, что бы получить примерное представление, что она может делать или просто рыскать по инету и само собой все найдется?

Добавлено через 7 минут
Да, еще не могу так и разобраться окончательно, в чем отличие чистого Си от С++ под линукс, компилятор у них один gcc (C/C++) у них одна и та же библиотека для графики <graphics.h> ? или разные, просто по разному люди пишут, одни говорят что она только для с++, и уже давно устарела, другие предлагают код на чистом С с этой библиотекой.... Как различить, что относится к с++, что к чистому си (я учусь писать в линуксе убунту на чистом си с компилятором gcc и ide CodeBlocks)

Добавлено через 2 минуты
чистый си будет работать с библиотекой SFML?

Добавлено через 1 минуту
А OpenGL?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.08.2016, 15:06
Ответы с готовыми решениями:

CMS-системы для создания прикладных программ
Здравствуйте! Подскажите кто что думает... Существует множество CMS-систем для управления сайтом. А существуют ли подобные системы для...

CMS-системы для создания прикладных программ
Здравствуйте! Подскажите кто что думает... Существует множество CMS-систем для управления сайтом. А существуют ли подобные системы для...

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

18
19 / 8 / 0
Регистрация: 01.08.2016
Сообщений: 102
17.08.2016, 18:43
Основное (на мой личный взгляд) отличие чистого изначального си от с++ состоит в наличии в с++ классов. На чистом си классов нет, и все построено на передаче из функции в функцию указателей и указателей на указатели.

На чем писать (на чистом или на плюсах) определяйся сам. А распознать, на каком именно си написан исходный текст, иногда помогает обычный взгляд на расширения файлов. На сообразительность: *.c *.cpp.
1
599 / 421 / 137
Регистрация: 02.10.2008
Сообщений: 1,798
Записей в блоге: 1
17.08.2016, 18:43
Лучший ответ Сообщение было отмечено седьмой как решение

Решение

Цитата Сообщение от седьмой Посмотреть сообщение
Не подскажете какие есть библиотеки или функции для обработки получаемой информации от приборов, например от цифрового осциллографа - вычислить максимальную амплитуду сигнала, или измерить какие либо задержи между некоторыми периодическими сигналами, например для управления электродвигателем и т.д в этом плане?
Всё зависит от производителя железок. Например ЗАО Руднев-Шиляев начал поддерживает своё железо и под Линуху (когда я работал с ихними платами были только DOS и Win):
Code
1
2
3
4
Linux
Драйверы PCI и USB распространяются в исходниках, библиотеки абстракции - в бинарниках, собранных для ядра 2.62, т.е. должны поддерживаться во всех старших ядрах.
 
Папка на облаке mail.ru
Цитата Сообщение от седьмой Посмотреть сообщение
Да, еще не могу так и разобраться окончательно, в чем отличие чистого Си от С++ под линукс, компилятор у них один gcc (C/C++) у них одна и та же библиотека для графики <graphics.h> ? или разные, просто по разному люди пишут, одни говорят что она только для с++, и уже давно устарела, другие предлагают код на чистом С с этой библиотекой.... Как различить, что относится к с++, что к чистому си (я учусь писать в линуксе убунту на чистом си с компилятором gcc и ide CodeBlocks)
Нет, C и C++ это разные языки. GCC - это оболочка для кучи компиляторов. Для C используется cc, а для C++ используется g++. gcc - даёт единый интерфейс для всех их. С помощью него можно одинаково скомпилять исходник и на C, и на C++, и на Fortran (если, конечно не использовать специфические опции для каждого из компиляторов)и т.п.
graphics.h - это заголовочник для Борландовской графики под DOS и всё для C - и вроде как использует борландовское расширение языка C - под ANSI-стандарты не скомпилируется...
Если уж браться за Linux то стоит опираться на кроссплатформенные графические библиотеки - это в первую очередь OpenGL, чем-то может понравится/помочь SDL. Эти имеют API под чистый C - работают с ANSI-стандартами, т.е. заработают везде(разве что с DOS могут быть проблемы - тут я не в курсе)

Так же стоит посмотреть в сторону кросплатформенных "монстров" вроде GTK, Qt - эти облегчат построение интерфейса, но отберут много времени на изучение библиотек. Но они под С++. А пятый Qt вообще требует поддержку C++11 + ешё и сам расширяет этот язык (слоты/сигналы/moc)
2
 Аватар для CoderHuligan
1745 / 1010 / 257
Регистрация: 30.06.2015
Сообщений: 5,120
Записей в блоге: 56
17.08.2016, 19:08
Цитата Сообщение от седьмой Посмотреть сообщение
чистый си будет работать с библиотекой SFML?
будет.
Цитата Сообщение от седьмой Посмотреть сообщение
А OpenGL?
То же .

Добавлено через 53 секунды
Цитата Сообщение от седьмой Посмотреть сообщение
Да, еще не могу так и разобраться окончательно, в чем отличие чистого Си от С++
Си - процедурный язык, а в си++ есть возможность программировать в ООП стиле

Добавлено через 1 минуту
Си это - эсперанто программирования. Каждый должен знать си. Не знать си - преступление
4
45 / 44 / 1
Регистрация: 11.07.2012
Сообщений: 1,024
18.08.2016, 09:04  [ТС]
Спасибо CoderHuligan особенно мне понравилась мысль про преступление... нет с++ не нужен, пока председатель нашего колхоза не определился на чем будем писать код, может под линуксом (он бесплатный) может под виндой (она уже куплена), может под досом (есть фрее дос) поэтому пока решили использовать чистый си. Проблема все в том , что свободных денег в колхозе мало, и после того как шабашники у нас что то внедрят по автоматизации фермы, доработки нам приходится делать самим, вот и сейчас нужно добавить в систему автоматизации фермы еще один сигнал с датчика, а инженеров у нас в селе раз два и обчелся, председатель колхоза, я и еще агроном. А потом использовать какие то графические функции си что бы этот сигнал проанализировать, спасибо еще раз за ваш развернутый ответ, будем читать документацию.

Добавлено через 8 минут
Цитата Сообщение от nORb Dragon Посмотреть сообщение
На сообразительность: *.c *.cpp.
Мне кажется для этого сообразительность не нужна, для этого нужно что бы было 2 глаза и буква си троилась после точки. Я не это имел в виду, в коде на чистом си , который (*.с) используются заголовочные функции формата (<*.h>) и с++ который (*.cpp) тоже использует эти же заголовочные файлы. Мне непонятно как определить какие (<*.h>) можно использовать в чистом си (*.с), а какие в с++ (*.cpp) ?
0
 Аватар для SmittWesson
236 / 196 / 21
Регистрация: 04.06.2014
Сообщений: 1,309
18.08.2016, 09:07
Цитата Сообщение от седьмой Посмотреть сообщение
Да, еще не могу так и разобраться окончательно, в чем отличие чистого Си от С++ под линукс, компилятор у них один gcc (C/C++) у них одна и та же библиотека для графики <graphics.h> ? или разные, просто по разному люди пишут, одни говорят что она только для с++, и уже давно устарела, другие предлагают код на чистом С с этой библиотекой...
Парень. Мой тебе совет. Не лезь ты туда, куда собака не сунет. Не пытайся познать всё. Ибо, как сказал Козьма Прутков - невпихуемемое, невпихуемо. Бери задачу и ищи решение (хоть и говнокодами. Все с этого начинали ()даже не сомневвайся, хоть будут говорить и иначе)). Да будет тебе счастье.
2
45 / 44 / 1
Регистрация: 11.07.2012
Сообщений: 1,024
18.08.2016, 09:22  [ТС]
Цитата Сообщение от drfaust Посмотреть сообщение
Нет, C и C++ это разные языки.
Спасибо, что то прояснилось, но не все, еще почитаю внимательнее ваш ответ.

Добавлено через 3 минуты
Цитата Сообщение от SmittWesson Посмотреть сообщение
Бери задачу и ищи решение (хоть и говнокодами
Да уж я тоже пришел к такому выводу , что проще тупо под досом по прерыванию причитать сигнал с датчика и не страдать. ну и фиг с ним что дос давно умер, прямые прерывания там до сих пор работают.

Добавлено через 7 минут
Цитата Сообщение от drfaust Посмотреть сообщение
начал поддерживает своё железо и под Линуху
мне не надо писать драйвер, в потоках с семаформи и прочей белебердой быстро разобраться не получится, если еще вообще получится. Мне нужно думаю пока просто полученные дискретные точки от цифрового осциллографа перевести в напряжение кратное параметрам режима измерения и потом обработать, для этого нужны просто графические функции библиотек си.

Добавлено через 49 секунд
Спасибо всем за ответы, будем разбираться что к чему

Добавлено через 2 минуты
Да еще вопрос , под фрее дос какой лучше поставить компилятор для чистого си, борланд 3.11 или что то еще?
0
 Аватар для SmittWesson
236 / 196 / 21
Регистрация: 04.06.2014
Сообщений: 1,309
18.08.2016, 10:34
Цитата Сообщение от седьмой Посмотреть сообщение
что проще тупо под досом по прерыванию причитать сигнал с датчика и не страдать.
Ха-ха-ха! ну и насмешил!
0
45 / 44 / 1
Регистрация: 11.07.2012
Сообщений: 1,024
18.08.2016, 10:50  [ТС]
Чем это я насмешил, обоснуй, прежде чем смеяться... сам писал "не лезь тута, не лезь сюда..." предлагал не сомневаться, а теперь хохочет, а знаешь что есть такая поговорка "смеется тот кто смеется последним"?
0
 Аватар для SmittWesson
236 / 196 / 21
Регистрация: 04.06.2014
Сообщений: 1,309
18.08.2016, 11:13
Цитата Сообщение от седьмой Посмотреть сообщение
что дос давно умер
ДОС не умер. Просто оболочки, заняли его место и вы, как нубы, ведётесь на это. Вот от этого и смешно.
0
45 / 44 / 1
Регистрация: 11.07.2012
Сообщений: 1,024
18.08.2016, 11:26  [ТС]
Нубы не знаю что значит, дубы - вполне возможно, от слова дуб, этого не отрицаю. Дос умер потому как майкрософт больше не поддерживает эту операционку, а поскольку у нас в колхозе председатель запрещает использовать в работе не лицензионное ПО (скупой платит дважды) то я и решил использовать в работе free dos, только подсказали что нужно брать не борланд си, а с++ для доса. и что в этом смешного? вы так и не объяснили... мне пора над вами смеяться или еще рано?
0
599 / 421 / 137
Регистрация: 02.10.2008
Сообщений: 1,798
Записей в блоге: 1
18.08.2016, 13:42
FreeDOS - да, там проблем с лицензиями нет.
BorlandC 3.1 - он работает и с C (в настройках можно выставить работу и с чистым ANSI-C) и с C++, к тому же добавляет некоторые фичи, например можно наваять обработчик прерывания на C (ключевое слово interrupt) которого нет в стандартах по C. Я в своё время писал обработчики на C++ под Борландом, правда там приходилось обработчик обвешивать сразу четырмя модификаторами.
У Борланда (по крайней мере того, что я мог нарыть) есть ограничение - realmode-only. Хоть он сам и работает под dpmi и могЁт в память более 1Мб, но компилятор мне не позволял получить flat-модель, т.к. runtime-библиотек под защищённый режим не было.

Если нужен объём памяти более 1Мб - можно глянуть в сторону djgpp и IDE под него rhide. Там flat-model памяти есть (386й проц), так же можно писать и в huge-модели под 286й проц в защищённом режиме. Но если работать с прерываниями - придётся разбираться с dpmi-обёрткой от djgpp. Если просто тупо читать/писать порты - проблем нет.
1
45 / 44 / 1
Регистрация: 11.07.2012
Сообщений: 1,024
18.08.2016, 19:52  [ТС]
Пока хочется тупо читать сом один порт и записывать в другой сом порт ответ, нужно будет посмотреть насколько это будет работать быстро и стабильно. А потом уже делать дальнейшие выводы. Процессор будет наверно хороший. Спасибо большое за подробный ответ, будем рыть в этом направлении, теперь есть от чего оттолкнуться.
0
 Аватар для SmittWesson
236 / 196 / 21
Регистрация: 04.06.2014
Сообщений: 1,309
19.08.2016, 07:22
Цитата Сообщение от седьмой Посмотреть сообщение
мне пора над вами смеяться или еще рано?
Я посмеялся только потому, что Вы изначально не полностью описали проблему. Вот теперь не смешно. Проблема с лицензированием действительно существует. Мой совет. Найдите коробочный вариант Borland C++ 5 под Windows XP. Главное, что-бы он был выпуском до 2009-го года. Для коробочных тех годов, лицензия выдавалась априори.
Во всяком случае, я спрашивал в отделе "К" (у меня там знакомый работает). Он бумажки посмотрел и никакого нарушения не нашёл. Говорит, пользуйся.
1
45 / 44 / 1
Регистрация: 11.07.2012
Сообщений: 1,024
19.08.2016, 09:13  [ТС]
Спасибо за ответ. Проблему описать кратко бывает порой трудно и неудобно грузить людей всякой чепухой, спасибо большое и на том, что помогают задаром и быстро, на некоторых форумах можно долго ждать ответа.
Цитата Сообщение от SmittWesson Посмотреть сообщение
Borland C++ 5
работает под досом? мне хочется попробовать что нибудь написать на си именно под досом... а точнее не что нибудь, а читать с сом порта управляющий сигнал DSR от датчика внешнего.
0
 Аватар для SmittWesson
236 / 196 / 21
Регистрация: 04.06.2014
Сообщений: 1,309
19.08.2016, 11:04
Цитата Сообщение от седьмой Посмотреть сообщение
работает под досом?
Нет. Под Виндой. Но в нём есть консольный режим. File...->New->ConsoleWizard.
Цитата Сообщение от седьмой Посмотреть сообщение
а читать с сом порта управляющий сигнал DSR от датчика внешнего.
На прямую не получится. Нужно будет установить компонент IOPort. Ну или через FILE но это ещё тот гемор.
1
45 / 44 / 1
Регистрация: 11.07.2012
Сообщений: 1,024
19.08.2016, 11:23  [ТС]
Цитата Сообщение от SmittWesson Посмотреть сообщение
установить компонент IOPort
И потом еще с компонентом разбираться, нет самое первое ваше предложение было самым простым, дос - без винды, и никого не слушать...
0
 Аватар для SmittWesson
236 / 196 / 21
Регистрация: 04.06.2014
Сообщений: 1,309
20.08.2016, 02:08
Цитата Сообщение от седьмой Посмотреть сообщение
И потом еще с компонентом разбираться, нет самое первое ваше предложение было самым простым, дос - без винды, и никого не слушать...
Да разбираться то там собственно и не в чем. Компонент на столько простой и сделан на высочайшем профессиональном уровне, что за пару дней освоить можно. Зря боитесь.
1
45 / 44 / 1
Регистрация: 11.07.2012
Сообщений: 1,024
21.08.2016, 09:20  [ТС]
Да не то что боюсь, с английским худо... и в школе и в институте был немецкий, а по работе всегда английский, в результате лучше читаю и разбираюсь на русском. Но конечно буду пробовать, спасибо, два дня не вопрос.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.08.2016, 09:20
Помогаю со студенческими работами здесь

Существуют ли CMS-системы не для сайтов, а для прикладных программ?
Здравствуйте! Подскажите кто что думает... Существует множество CMS-систем для управления сайтом. А существуют ли подобные системы для...

Раскрыть принципы разработки алгоритмов и программ для решения прикладных задач: операциональный и структурный
Раскрыть принципы разработки алгоритмов и программ для решения прикладных задач: операциональный и структурный подходы.

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

Разработка прикладных программ «Тесты по информатике»
Тест должен запоминать введенное пользователем ФИО, подсчитывать количество правильных ответов, выводить ФИО и % правильных, выставлять...

Механизмы взаимодействия прикладных программ с системным календарем и таймером
Пожалуйста помогите ответить на вопрос: какие могут быть механизмы взаимодействия прикладных программ с системным календарем и таймером и...


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

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru