Форум программистов, компьютерный форум CyberForum.ru

C++

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 30, средняя оценка - 4.97
zinador
2 / 2 / 0
Регистрация: 15.11.2009
Сообщений: 100
#1

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

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

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

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

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

Не по теме:

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

Demihalf
06.08.2010, 15:03
  #14

Не по теме:

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

PB
06.08.2010, 15:16
  #15

Не по теме:

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

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.08.2010, 20:39     Окно Windows/Linux на с++ без всяких api
Еще ссылки по теме:
C++ WinAPI Программа на win32 api с тулбаром и меню, окно не появляется
C++ Не создается главное окно при запуске программы, Win32 API
C++ WinAPI Таймер на C++ API без окна
C++ Копирование файлов без win api
C++ Builder Как писать в Билдере на чистом API и С++ (без компонентов)

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

Или воспользуйтесь поиском по форуму:
zinador
2 / 2 / 0
Регистрация: 15.11.2009
Сообщений: 100
06.08.2010, 20:39  [ТС]     Окно Windows/Linux на с++ без всяких api #16
ВО,спасибо! хоть что-то
Yandex
Объявления
06.08.2010, 20:39     Окно Windows/Linux на с++ без всяких api
Ответ Создать тему
Опции темы

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