Форум программистов, компьютерный форум, киберфорум
C (Си)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.98/40: Рейтинг темы: голосов - 40, средняя оценка - 4.98
2 / 2 / 0
Регистрация: 08.05.2012
Сообщений: 18

Как в чистом Си работать с библиотеками C++ содержащими классы?

08.05.2012, 15:42. Показов 8897. Ответов 20
Метки нет (Все метки)

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

Я, честно говоря, только начал планомерно изучать язык Си.

Я не профессиональный программист, но когда-то, обучаясь в ВУЗе я писал программы на таких языках как BASIC, Pascal, Forth, ASSEMBLER и какие-то остаточные знания в этих языках у меня есть.

Честно говоря в ВУЗе мы проходили Программирование под Win 3.11 на Visual C++ v1.0 с использованием SDK. Но сейчас я уже практически ничего не помню из той темы, хотя многостраничные листинги программ меня не пугают и я готов разбираться...

По различным причинам я решил освоить основы программирования на чистом Си.
К сожалению, информации по чистому Си не очень много. Во многих статьях языки Си и C++ вообще не различают (хотя пишут именно про C++ и классы).

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

Однако, практически отсутствует информация о каком-то реальном применении Си. Чуть задача становится сложнее её сразу описывают на C++, а про Си иногда просто до кучи упомянают без конкретики.


Многие программисты и преподаватели говорили, рекламируя C++, что хоть он и не так эффективен в плане кода как Си, но благодаря использованию классов позволяет очень сильно масштабировать проекты и работать большим коллективам программистов.

Для меня, например, не стоит проблема масштабирования и я не собираюсь писать что-то в большом коллективе, но мне хочется именно той самой максимальной эффективности (считайте, что это фетиш человека испорченного ассемблером).

1) Меня конкретно интересует как можно реально на практике применять чистый Си?
(Про системное программирование в *nix я в курсе, но без конкретики)

2) Можно ли использовать библиотеки с классами написанные на C++ в программах на Си? Как?

3) Можно ли будет использовать свои, написанные на Си библиотеки в будущих программах на C++?
(вдруг придётся всё же переходить)

4) Можно ли на чистом Си писать оконные программы под Windows?
(например с использованием SDK или чего-то подобного, в конце концов, оконные приложения можно писать даже на Ассемблере)

5) Можно ли писать программы на Си с использованием Qt (насколько я знаю, там используются классы)?

6) Можно ли на Си использовать многопоточность (я видел примеры по OpenMP только для C++)?

7) Есть ли какие-то средства (библиотеки) чтобы программы на Си работали с базами данных напрямую?

8) Есть ли средства (библиотеки) для работы с архивами "на лету".

Я не планирую писать какие-то крупномасштабные программы с огромным количеством кода, но у меня есть несколько задумок для реализации которых необходимы следующие элементы:

1) Компактный и быстрый код.

2) Работа с относительно большими объёмами данных (лучше всего параллельная) представленных в разной форме (текстовые файлы и БД).

3) Оконный интерфейс.

4) Переносимость решения на разные платформы (Win-Linux)
(По возможности желательна максимальная оптимизация под каждую из систем. Т.е. не обязательна переносимость кода один в один, важна просто реализация программы на разных платформах)

5) Оптимизация интерфейса не критична, оптимизация обработки данных важна.

6) Предполагаемая область применения - компьютерный анализ текстов (морфологический, синтаксический и семантический анализ) использование Баз Данных и текстовых архивов.

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

Кроме Си я планирую освоение и других языков более высокого уровня, но Си мне важен для понимания механики и для возможности делать критичные по производительности куски самым оптимальным способом. В принципе, ради этого я и Ассемблером не побрезгую, если потребуется (кое какой опыт у меня есть, правда, к сожалению только под MS DOS)... Правда моё свободное время ограничено и припадками фанатизма я тоже не страдаю...

PS: Буду очень благодарен за любые конструктивные коментарии или ссылки. Я много времени потратил на прочёсывание интернета в поисках ответов, кое какие обрывочные данные я нашёл но целостной картины всё равно не складывается...
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.05.2012, 15:42
Ответы с готовыми решениями:

Как работать со страницами содержащими фреймы?
Вопрос такой: По моему запросу на стороннем сервере формируется страница состоящая из 2-х фреймов. Есть ли возможность перехватить идущую...

Калькулятор - как работать с числами, содержащими недопустимые знаки
Всем привет как сделать канкулятор что бы посчитал == 1,544.06 1,231.00 727.47 45,517.04 == Общий счет: 49.019.57

Как работать с Dll библиотеками
объясните простым языком как ими пользоваться. Пишу на диплом крупную программу и думаю что одним файлом exe не обойтись

20
 Аватар для dr.curse
404 / 360 / 36
Регистрация: 11.10.2010
Сообщений: 1,907
11.05.2012, 20:29
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Hemulo Посмотреть сообщение
В чём заключаются главные недостатки Gtk+ под Win?
для меня единственным недостатком Gtk+ под Win было то что надо таскать с собой уйму библиотек, а поскольку я сейчас пишу под Win то решил всетаки остатся на WinAPI
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.05.2012, 20:29

Как работать с библиотеками AngleSharp или HmlAgilityPack?
Где можно найти какое-нибудь четкое руководство по одной из двух библиотек. Я даже более менее нормальные шаблоны для танцов с бубном найти...

Как работать с Microsoft Office Access 2010 на чистом Си?
Как работать с Microsoft Office Access 2010 из под VS C(api) Добрый вечер - хотелось бы узнать как мне поработать с Access 2010 / 2003...

Умеет ли мобильная 1с работать с самодельными библиотеками?
всем привет, впрс. мобильная 1с умеет ли работать с самодельными библиотеками? т.е. как будет более правильно использовать...

Как работать с функциями , используя классы ?
Здравствуйте! Очень нужна Ваша помощь . Помогите пожалуйста хоть немного разобраться с классами в с++. Как работать с функциями ,...


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

Или воспользуйтесь поиском по форуму:
21
Ответ Создать тему
Новые блоги и статьи
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru