Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Знание OS Internals, Для разработчика 
:(
    Опции темы
vitlic
Дата 28.2.2007, 17:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 74
Регистрация: 22.2.2007
Где: где home(){return где="тут"}

Репутация: 1
Всего: 1



Код

cout << sizeof(char) << endl;   // 1
cout << sizeof(__wchar_t);      // [color=red]2[/color]



пи.си. У меня только второе издание, третье только недавно вышло. Изменений не много, так как рукописи не горят классика не стареет.
PM WWW   Вверх
nerezus
Дата 28.2.2007, 17:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 3
Всего: 43



Цитата

Но особенности платформы придеться учитывать а значит ее необходимо знать. 
 А если ты пишешь не под платформу? А просто используешь классы, которые делают всю низкоуровневую работу за тебя? Вывод: начать учить только тогда, когда понадобится.

Цитата

если будешь писать по стандарту(исп. ф-ии описанные в стандарте), то получишь кроссплатформенное приложения
 Только вот стандарт этот слишком "лысый", т.е. дальше консоли на нем не уедешь.
Не стандартизирована работа с гуями, сетью, XML и т.д.


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
S.A.G.
Дата 28.2.2007, 18:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


не эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1339
Регистрация: 20.7.2006
Где: in ad equate

Репутация: нет
Всего: 19



nerezus,
Цитата
А если ты пишешь не под платформу? А просто используешь классы, которые делают всю низкоуровневую работу за тебя? Вывод: начать учить только тогда, когда понадобится.

Т.е. создаешь кросс-платформенный код? Приведи примеры кроссплатформенных классов..
Цитата
Только вот стандарт этот слишком "лысый", т.е. дальше консоли на нем не уедешь.
Не стандартизирована работа с гуями, сетью, XML и т.д.

Но стандарт ведь на язык и библиотеку разве в нем должны быть гуи, сети..?

vitlic,
Стандарт не определяет тип __wchar_t, т.е. насколько я знаю существует стандартный хидер в котором допускаються вариации для размеров различных типов но основной char должен быть двухбайтовым для Windows.

Это сообщение отредактировал(а) main - 28.2.2007, 18:12


--------------------
Вот она задачка: спасти себя от себя самого © Cube
Sometimes good people do evil things © A Simple Plan
PM   Вверх
Fazil6
Дата 28.2.2007, 18:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1653
Регистрация: 3.5.2006
Где: Минск

Репутация: 35
Всего: 60



Цитата

Т.е. создаешь кросс-платформенный код? Приведи примеры кроссплатформенных классов..


STL целиком. Классов в ней немеряно. 
PM MAIL   Вверх
S.A.G.
Дата 28.2.2007, 18:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


не эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1339
Регистрация: 20.7.2006
Где: in ad equate

Репутация: нет
Всего: 19



Цитата(Fazil6 @ 28.2.2007,  18:13)
Цитата

Т.е. создаешь кросс-платформенный код? Приведи примеры кроссплатформенных классов..


STL целиком. Классов в ней немеряно.

До STL еще не добрался.. незнаю что в ней smile


--------------------
Вот она задачка: спасти себя от себя самого © Cube
Sometimes good people do evil things © A Simple Plan
PM   Вверх
Fazil6
Дата 28.2.2007, 18:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1653
Регистрация: 3.5.2006
Где: Минск

Репутация: 35
Всего: 60



Цитата

Стандарт не определяет тип __wchar_t, т.е. насколько я знаю существует стандартный хидер в котором допускаються вариации для размеров различных типов но основной char должен быть двухбайтовым для Windows.

есть таблица ASCII. В ней 1 символ - 1 байт. Какого художника вдруг char должен быть 2 байта?
wchar_t - это ключевое слово в С++. В С есть такой макрос. Этот тип предназначен для Unicoda

Твои рассуждения и есть пример того, как неразобравшись с языком начинаются рассуждения как его применять. 
PM MAIL   Вверх
S.A.G.
Дата 28.2.2007, 18:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


не эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1339
Регистрация: 20.7.2006
Где: in ad equate

Репутация: нет
Всего: 19



Fazil6,
Читай выше про то какого размера должен быть тип char для каждой конкретной системы.. в Windows Unicode основной набор а не ASCII. Это и ответ по поводу того каким должен быть char для Windows.
Цитата
Твои рассуждения и есть пример того, как неразобравшись с языком начинаются рассуждения как его применять.

Мои рассуждения всегда есть предмет того как нужно разобраться прежде чем применять что угодно smile

Это сообщение отредактировал(а) main - 28.2.2007, 18:33


--------------------
Вот она задачка: спасти себя от себя самого © Cube
Sometimes good people do evil things © A Simple Plan
PM   Вверх
Earnest
Дата 28.2.2007, 18:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 53
Всего: 183



main, ну чего ты уперся? Windows вовсе не основана на UNICODE. Она прекрасно работает с "обычными строками", т.е. char. wchar - дополнительный тип данных, только и всего, облегчающий мульти-язычную поддержку и избавляющий от геморроя с кодовыми страницами.
Фраза, которую ты приводил для Windows означает только то, что основные системные вызовы с аргументами строками используют UNICODE-строки. А под символами в стандарте вовсе не буквы подразумеваются...


--------------------
...
PM   Вверх
S.A.G.
Дата 28.2.2007, 18:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


не эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1339
Регистрация: 20.7.2006
Где: in ad equate

Репутация: нет
Всего: 19



Earnest,
Цитата
main, ну чего ты уперся?

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

А это разве не означает что она основана на Unicode? Разве на основе того что в системных вызовах используеться Unicode нельзя сделать вывод о том что это для Windows основная кодировка? Если нет то на основе чего можно сделать вывод о том на каком наборе символов основана ОС и на каком наборе основана Windows??????????????????????????

Спасибо, за внимание..

Это сообщение отредактировал(а) main - 28.2.2007, 19:09


--------------------
Вот она задачка: спасти себя от себя самого © Cube
Sometimes good people do evil things © A Simple Plan
PM   Вверх
nerezus
Дата 28.2.2007, 18:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 3
Всего: 43



Цитата

Приведи примеры кроссплатформенных классов..
 Ну во первых это библиотеки boost, stl. Во-вторых, это тот же Qt. В них дохрена классов, замечательных и разных.

Цитата

До STL еще не добрался.. незнаю что в ней
 Давай, сначала доберешься, а только потом будешь создавать подобные темы?


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
Vyacheslav
Дата 28.2.2007, 18:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2124
Регистрация: 25.3.2002
Где: Москва

Репутация: 9
Всего: 59




Цитата(main @  28.2.2007,  17:37 Найти цитируемый пост)
Думаю ознакомиться с OS Internals необходимо перед чтением книги про конкретный язык, чтобы знать и понимать о чем идет речь. Ведь часто описываються операции с файлами, ввод/вывод. А это уже зависимые от конкретной системы вещи..


Любопытно.  Операция с файлами, говорите ? И под какую конкретно платформу написан следующий код: чтение содержиого файла в строку?
Код

ifstream inpFile("test.dat");
string fileData( istreambuf_iterator< char >(inpFile), istreambuf_iterator< char >()); 




--------------------
С уважением, Вячеслав Ермолаев
PM MAIL WWW ICQ   Вверх
S.A.G.
Дата 28.2.2007, 18:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


не эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1339
Регистрация: 20.7.2006
Где: in ad equate

Репутация: нет
Всего: 19



Цитата(nerezus @ 28.2.2007,  18:44)
Цитата

Приведи примеры кроссплатформенных классов..
 Ну во первых это библиотеки boost, stl. Во-вторых, это тот же Qt. В них дохрена классов, замечательных и разных.

Цитата

До STL еще не добрался.. незнаю что в ней
 Давай, сначала доберешься, а только потом будешь создавать подобные темы?

Я не создавал тему про STL.

Добавлено @ 18:57 
Цитата(Vyacheslav @ 28.2.2007,  18:48)
Цитата(main @  28.2.2007,  17:37 Найти цитируемый пост)
Думаю ознакомиться с OS Internals необходимо перед чтением книги про конкретный язык, чтобы знать и понимать о чем идет речь. Ведь часто описываються операции с файлами, ввод/вывод. А это уже зависимые от конкретной системы вещи..


Любопытно.  Операция с файлами, говорите ? И под какую конкретно платформу написан следующий код: чтение содержиого файла в строку?
Код

ifstream inpFile("test.dat");
string fileData( istreambuf_iterator< char >(inpFile), istreambuf_iterator< char >()); 

Причем тут C++?? Я писал про- и имел ввиду язык C и опирался на его стандарт..


--------------------
Вот она задачка: спасти себя от себя самого © Cube
Sometimes good people do evil things © A Simple Plan
PM   Вверх
Earnest
Дата 28.2.2007, 19:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 53
Всего: 183



Цитата(main @  28.2.2007,  19:41 Найти цитируемый пост)
Уточните какую фразу я приводил..

Вот эту:

Цитата

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


Цитата(main @  28.2.2007,  19:41 Найти цитируемый пост)
А это разве не означает что она основана на Unicode?

НЕТ!

Добавлено @ 19:30 
Основной набор в Windows - по прежнему ASCII.


--------------------
...
PM   Вверх
S.A.G.
Дата 28.2.2007, 19:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


не эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1339
Регистрация: 20.7.2006
Где: in ad equate

Репутация: нет
Всего: 19



Аминь..

Earnest, а вы какого мнения стоит ли читать основы ОС перед изучением языка?

Это сообщение отредактировал(а) main - 28.2.2007, 20:09


--------------------
Вот она задачка: спасти себя от себя самого © Cube
Sometimes good people do evil things © A Simple Plan
PM   Вверх
MAKCim
Дата 28.2.2007, 20:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 52
Всего: 207



Цитата(main @  28.2.2007,  19:35 Найти цитируемый пост)
а вы какого мнения стоит ли читать основы ОС перед изучением языка?

перед изучением языка, имхо, нет
кстати, все зависит еще от того, в каком направлении дальше работать: для системного программирования - обязательно, для прикладного - это, опять имхо, не столь важно (однако не помешает)
Весь Танненбаум - классика, не привязанная к конкретной ОС
Для Linux - "Разработка ядра Linux. Р. Лав" + сырцы
Для Window$ - Руссинович/Соломон


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
Страницы: (4) Все 1 [2] 3 4 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0674 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.