Форум программистов, компьютерный форум, киберфорум
Наши страницы

C++

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

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

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

Основная суть вопроса в заголовке.теперь пояснения.
Как сделать окно на чистом С++без всяких opengl,winapi просто имея Пакет языка с++ и нечего больше со стандартными библами.я сразу думаю что этот код и пояснения врятли кто тут напишет.так что прошу хотя бы ссылочку алгоритмы,теорию,и желательно к этому всему листинг кода ! заранее спасибо!
PS: Еще раз повторяю только на чистом с++ без API
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.08.2010, 13:58
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Окно Windows/Linux на с++ без всяких api (C++):

"Легкий" компилятор C++ без багов и без Net FrameWork бинарников под Windows - C++
Какой компилятор посоветуете? (C++) Сейчас мой проект в VisualStudio 2008. Компилирую в среде Windows 7 64, соответственно компилятор...

Как писать в Билдере на чистом API и С++ (без компонентов) - C++ Builder
Привет... как писать в билдере на чистом АПИ и С++ не какйе компоненты. Создаю проект под Console application, Но как начать писать...

Окно поверх всех без фокуса! - C++ Builder
Задача такова, что нужно создать окно которое будет по верх всех окон(приложений) находящихся на экране и занимать определённую часть...

Создать окно (форму) с отображением текущего времени без использования таймера - C++ Builder
Тут вот наткнулся на такую задачку. Создать окно (форму) с отображением текущего времени без использования таймера. Для обновления...

api Windows функции для управления окнами - C++ Builder
Здравствуйте мне необходимо найти api Windows функции для управления окнами. В книге по С++ приведены только три функции (CloseWindow(),...

Где найти функцию Windows API MessageBox - C++ Builder
В общем я начал читать книгу по С++ и столкнулся с тем что не нашел эту функцию. У меня установлен С++ Builder 6. "Кнопка SpeedButton2...

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

Добавлено через 1 минуту
Kidalvь, насколько я понимаю, эти библиотеки просто инкапсулируют в себе работу с нативными API ОС
0
Vladiator
1567 / 637 / 25
Регистрация: 24.02.2009
Сообщений: 9,269
06.08.2010, 14:31 #6
Цитата Сообщение от Demihalf Посмотреть сообщение
можно каким-то образом это реализовать, с таким же успехом, как и на любом другом языке, путем работы непосредственно с ядром системы
нельзя. Linux - монолитное ядро, не отвечает за работу с графикой. Надо работать с X-сервером
с windows знаком плохо, но вроде бы там графика прямо в ядре, что усложняет задачу и при неверном движении может возникнуть BSoD
0
Demihalf
Унылый школьник
126 / 60 / 3
Регистрация: 06.11.2009
Сообщений: 354
06.08.2010, 14:37 #7
В большинстве случаев в использовании низкоуровневых средств смысла особого нет.
0
zinador
2 / 2 / 0
Регистрация: 15.11.2009
Сообщений: 100
06.08.2010, 14:38  [ТС] #8
Цитата Сообщение от Demihalf Посмотреть сообщение
zinador, ОС, вообще, обычно пишут на Си и языке ассемблера. Я, наверное, не совсем правильно сказал, конечно, можно каким-то образом это реализовать, с таким же успехом, как и на любом другом языке, путем работы непосредственно с ядром системы... Хотя, могу ошибаться. Но в стандарте C и C++ об оконных приложениях ничего не сказано. В общем, кроссплатформенного решения без использования библиотек, по-видимому, не существует.
я и имею ввиду путем работы с ядром системы даже такие популярные библы как qt winapi opengl как-то написали с помощью которых и вызывают окна,даже можно сказать что мой вопрос переходит в то ,что хочу узнать как подобное сделать (библиотеку графики) в сорцы opengl заглядывал вроде C-шный код , из ASM такого нечего не видел или плохо смотрел.
0
Demihalf
Унылый школьник
126 / 60 / 3
Регистрация: 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
zinador
2 / 2 / 0
Регистрация: 15.11.2009
Сообщений: 100
06.08.2010, 14:42  [ТС] #10
Цитата Сообщение от Demihalf Посмотреть сообщение
В большинстве случаев в использовании низкоуровневых средств смысла особого нет.
не совсем согласен я когда на курсы по php ходил спросил у учителя почему мы сортируем массив методом пузырька ,а не уже готовой функцией array.sort() ,он сказал ,откуда ты знаешь что они в эту функцию понапихали,и сказал что знает много случаев когда собственые функции работали быстрее проверение и надёжние нежели уже готовые. Суть в том что и на asm можно сделать язык лучше чем с++ была бы логика и фантазия.
0
Vladiator
1567 / 637 / 25
Регистрация: 24.02.2009
Сообщений: 9,269
06.08.2010, 14:46 #11
zinador, там ведь написано - "в большинстве случаев".
Почитайте здесь и здесь. Но это только про UNIX-системы
0
Demihalf
Унылый школьник
126 / 60 / 3
Регистрация: 06.11.2009
Сообщений: 354
06.08.2010, 14:47 #12
zinador, ересь. Велосипеды стоит изобретать в только в целях обучения (как вы и делали на курсах пхп (пузырек уж точно не лучше array.sort())), или если вы точно знаете, что делаете и что ваш подход в разы эффективнее. Хотите знать как это работает? Изучайте WinAPI или работу с X-сервером напрямую (в Линуксе). Ниже точно смысла нет идти. Ну или если совсем делать нечего и очень интересно. Но это mindfuck
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     Окно Windows/Linux на с++ без всяких api
  #15

Не по теме:

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

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.08.2010, 15:16
Привет! Вот еще темы с ответами:

Делаю окно-поплавок. …(API) ? - Visual C++
Доброго времени суток! Хочу сделать окно-поплавок (онко которое невозможно перекрыть). Эта задача решается простым способом. Создается окно...

Windows API, ошибка. - Visual C++
Нужно получить домен, в который входит компьютер, и имя пользователя, который работает за компьютером. #include <windows.h> #include...

Окно без рамки + фон на весь размер окна - Visual C++
Не знаю что использовать, какие инструменты и т.п. Нужно создать окно неправильной формы. Без рамки, обводки. В качестве фона буду...

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


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

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

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