Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.62/39: Рейтинг темы: голосов - 39, средняя оценка - 4.62
2 / 2 / 2
Регистрация: 15.11.2009
Сообщений: 100
1

Окно Windows/Linux на с++ без всяких api

06.08.2010, 13:58. Просмотров 7305. Ответов 15
Метки нет (Все метки)

Основная суть вопроса в заголовке.теперь пояснения.
Как сделать окно на чистом С++без всяких opengl,winapi просто имея Пакет языка с++ и нечего больше со стандартными библами.я сразу думаю что этот код и пояснения врятли кто тут напишет.так что прошу хотя бы ссылочку алгоритмы,теорию,и желательно к этому всему листинг кода ! заранее спасибо!
PS: Еще раз повторяю только на чистом с++ без API
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.08.2010, 13:58
Ответы с готовыми решениями:

Как без всяких прог изменить визуальное оформление Windows, чтобы создать Windows со своим оформлением.
Посоветуйте пожалуйста. Решил я без всяких прог добавить темы для рабочего стола на ХР. И вот зашёл...

Использование команды system(); Без всяких окон (без dos и т.д)
Вообще реально сделать чтобы обратиться к системе в фоновом режиме. Без отрытия dos. Без всякой...

Как создать файл без расширений? Без всяких .txt и т п
Procfile надо создать без всяких расширений Добавлено через 30 минут Уже создал с помощью python

Родное окно для Windows, Linux, macOS
Привет, возможно ли реализовать полностью собственный интерфейс окна с флагом...

15
Унылый школьник
126 / 60 / 10
Регистрация: 06.11.2009
Сообщений: 354
06.08.2010, 14:10 2
zinador, в стандарте C++ нет таких средств, оконные приложения можно писать только с помощью соответствующих API или сторонних библиотек (MFC, Qt).
0
2 / 2 / 2
Регистрация: 15.11.2009
Сообщений: 100
06.08.2010, 14:23  [ТС] 3
Цитата Сообщение от Demihalf Посмотреть сообщение
zinador, в стандарте C++ нет таких средств, оконные приложения можно писать только с помощью соответствующих API или сторонних библиотек (MFC, Qt).
странно как то же делали операционные системы только на с++ ну еще и ассемблер со своими окнами без всякого opengl и winapi
0
1572 / 643 / 79
Регистрация: 24.02.2009
Сообщений: 9,269
06.08.2010, 14:28 4
zinador, в Linux есть библиотеки (GTK, QT - самые популярные) - они отвечают за прорисовку элементов вроде кнопок, текстбоксов и прочих элементов. Программы с помощью них уже и делают прорисовку...
эти библиотеки вроде и под windows есть.
0
Унылый школьник
126 / 60 / 10
Регистрация: 06.11.2009
Сообщений: 354
06.08.2010, 14:30 5
zinador, ОС, вообще, обычно пишут на Си и языке ассемблера. Я, наверное, не совсем правильно сказал, конечно, можно каким-то образом это реализовать, с таким же успехом, как и на любом другом языке, путем работы непосредственно с ядром системы... Хотя, могу ошибаться. Но в стандарте C и C++ об оконных приложениях ничего не сказано. В общем, кроссплатформенного решения без использования библиотек, по-видимому, не существует.

Добавлено через 1 минуту
Kidalvь, насколько я понимаю, эти библиотеки просто инкапсулируют в себе работу с нативными API ОС
0
1572 / 643 / 79
Регистрация: 24.02.2009
Сообщений: 9,269
06.08.2010, 14:31 6
Цитата Сообщение от Demihalf Посмотреть сообщение
можно каким-то образом это реализовать, с таким же успехом, как и на любом другом языке, путем работы непосредственно с ядром системы
нельзя. Linux - монолитное ядро, не отвечает за работу с графикой. Надо работать с X-сервером
с windows знаком плохо, но вроде бы там графика прямо в ядре, что усложняет задачу и при неверном движении может возникнуть BSoD
0
Унылый школьник
126 / 60 / 10
Регистрация: 06.11.2009
Сообщений: 354
06.08.2010, 14:37 7
В большинстве случаев в использовании низкоуровневых средств смысла особого нет.
0
2 / 2 / 2
Регистрация: 15.11.2009
Сообщений: 100
06.08.2010, 14:38  [ТС] 8
Цитата Сообщение от Demihalf Посмотреть сообщение
zinador, ОС, вообще, обычно пишут на Си и языке ассемблера. Я, наверное, не совсем правильно сказал, конечно, можно каким-то образом это реализовать, с таким же успехом, как и на любом другом языке, путем работы непосредственно с ядром системы... Хотя, могу ошибаться. Но в стандарте C и C++ об оконных приложениях ничего не сказано. В общем, кроссплатформенного решения без использования библиотек, по-видимому, не существует.
я и имею ввиду путем работы с ядром системы даже такие популярные библы как qt winapi opengl как-то написали с помощью которых и вызывают окна,даже можно сказать что мой вопрос переходит в то ,что хочу узнать как подобное сделать (библиотеку графики) в сорцы opengl заглядывал вроде C-шный код , из ASM такого нечего не видел или плохо смотрел.
0
Унылый школьник
126 / 60 / 10
Регистрация: 06.11.2009
Сообщений: 354
06.08.2010, 14:40 9
zinador, Qt и тому подобные библиотеки вряд ли используют работу с ядром в Виндоуз. Они используют нативный WinAPI.
http://ru.wikipedia.org/wiki/Windows_API

Windows API был изначально спроектирован для использования в программах, написанных на языке C (или C++). Работа через Windows API — это наиболее близкий к системе способ взаимодействия с ней из прикладных программ. Более низкий уровень доступа, необходимый только для драйверов устройств, в текущих версиях Windows предоставляется через Windows Driver Model.
0
2 / 2 / 2
Регистрация: 15.11.2009
Сообщений: 100
06.08.2010, 14:42  [ТС] 10
Цитата Сообщение от Demihalf Посмотреть сообщение
В большинстве случаев в использовании низкоуровневых средств смысла особого нет.
не совсем согласен я когда на курсы по php ходил спросил у учителя почему мы сортируем массив методом пузырька ,а не уже готовой функцией array.sort() ,он сказал ,откуда ты знаешь что они в эту функцию понапихали,и сказал что знает много случаев когда собственые функции работали быстрее проверение и надёжние нежели уже готовые. Суть в том что и на asm можно сделать язык лучше чем с++ была бы логика и фантазия.
0
1572 / 643 / 79
Регистрация: 24.02.2009
Сообщений: 9,269
06.08.2010, 14:46 11
zinador, там ведь написано - "в большинстве случаев".
Почитайте здесь и здесь. Но это только про UNIX-системы
0
Унылый школьник
126 / 60 / 10
Регистрация: 06.11.2009
Сообщений: 354
06.08.2010, 14:47 12
zinador, ересь. Велосипеды стоит изобретать в только в целях обучения (как вы и делали на курсах пхп (пузырек уж точно не лучше array.sort())), или если вы точно знаете, что делаете и что ваш подход в разы эффективнее. Хотите знать как это работает? Изучайте WinAPI или работу с X-сервером напрямую (в Линуксе). Ниже точно смысла нет идти. Ну или если совсем делать нечего и очень интересно. Но это mind****
0
PB
06.08.2010, 14:54
  #13

Не по теме:

На бейсике такое можно сделать.
Во вложении есть исходник и скомпилированые проги для Windows и Linux.
В исходнике нет ни одной API функции и он без модификаций компилируется под Windows (x86 и x64), Linux (x86 и x64), MacOS X и AmogaOS

1
Demihalf
06.08.2010, 15:03
  #14

Не по теме:

PB, наверняка принцип работы тот же, что и у библиотек. Но Бейсик в этом смысле мощен, конечно...

0
PB
06.08.2010, 15:16
  #15

Не по теме:

Цитата Сообщение от Demihalf Посмотреть сообщение
наверняка принцип работы тот же, что и у библиотек
У него есть кроссплатформенная библиотека функций используемая по умолчанию.

0
2 / 2 / 2
Регистрация: 15.11.2009
Сообщений: 100
06.08.2010, 20:39  [ТС] 16
ВО,спасибо! хоть что-то
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.08.2010, 20:39

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

Графическое приложение (окно) Windows, Linux, Mac
Здравствуйте. Немного поясню в чем суть. Нужно выбрать инструментарий для написания...

Вылетают игры без всяких ошибок
Добрый день ! У меня возникла такая проблема что при игре в CS:GO начал пропадать звук и в...

Почтовый сервис без всяких украшений и тем
Привет всем!!! Help me как сделать почтовый сервис для приема и отображения текста письма от...

Возможно ли Выложить сайт в ИНТЕРНЕТ без всяких регистрации и т.д.?
Здравствуйте! Чтобы выложить свой сайт, страницу в Интернет: предлагают купить или заказать домен,...


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

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

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