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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> CodeGuard и выравнивание. 
V
    Опции темы
bsa
Дата 18.7.2008, 11:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Если ты пишешь на билдере, то, думаю, там есть много функций одноименных аналогов дельфийских.
PM   Вверх
Riply
Дата 18.7.2008, 11:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Комодератор
Сообщений: 572
Регистрация: 27.3.2007
Где: St. Petersburg

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



Цитата(bsa @  18.7.2008,  11:28 Найти цитируемый пост)
Если ты пишешь на билдере, то, думаю, там есть много функций одноименных аналогов дельфийских


В том то и дело, что я еще настолько начинающая, что даже не определилась на чем писать smile
Делаю так: пишу под Builder`ом, компилирую, проверяю корректность работы.
Перехожу на VS 2005, компилирую тот же юнит, проверяю корректность работы.
Если и там и там все в порядке, откладываю данный юнит как готовый у употреблению smile
Поэтому привязки к Builder`ским ф-иям мне, к сожалению, не подходят
PM MAIL   Вверх
W4FhLF
Дата 18.7.2008, 12:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


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

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



Системный софт для Windows лучше писать в средах от MS или по-крайней мере юзать хедеры и компилятор от MS. 

Это сообщение отредактировал(а) W4FhLF - 18.7.2008, 12:24


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
Riply
Дата 18.7.2008, 12:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Комодератор
Сообщений: 572
Регистрация: 27.3.2007
Где: St. Petersburg

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



Цитата(W4FhLF @  18.7.2008,  12:23 Найти цитируемый пост)
Системный софт для Windows лучше писать в средах от MS или по-крайней мере юзать хедеры и компилятор от MS.


До написания "системного софта" мне как до луны smile
На данном этапе я учусь ствить "{" вместо "begin" smile
Заодно пытаюсь нучиться правильно декларировать констаны, структуры и т.д. и т.п., 
ну и, разумеется, работать с ними.

Как я поняла "сред от MS" много ?  Какую из них лучше выбрать для изучения "с нуля" ?
И где можо посмотреть(скачать) "хедеры от MS" ?

PM MAIL   Вверх
W4FhLF
Дата 18.7.2008, 13:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


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

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



Цитата(Riply @  18.7.2008,  12:52 Найти цитируемый пост)
Как я поняла "сред от MS" много ?  Какую из них лучше выбрать для изучения "с нуля" ?


Де-факто одна smile 

Цитата(Riply @  18.7.2008,  12:52 Найти цитируемый пост)
И где можо посмотреть(скачать) "хедеры от MS" ?


Если юзаешь студию 8-9, то для системного программирования там все зедеры есть. Для программирования дров надо качать спец. пакет WinDDK (бесплатно с сайта MS). Плюс сразу скачивай пакет Debuging Tools и символы(pdb). 

За подробностями сюда:

http://www.microsoft.com/whdc/devtools/default.mspx

+ желательно иметь исходники винды, стянуть откуда-нибудь из торрентов, иногда туда полезно заглядывать. 



--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
Riply
Дата 18.7.2008, 13:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Комодератор
Сообщений: 572
Регистрация: 27.3.2007
Где: St. Petersburg

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



Цитата(W4FhLF @  18.7.2008,  13:05 Найти цитируемый пост)
Если юзаешь студию 8-9 


Сейчас, у меня стоит VS 2005.
Скачала 2008 с http://www.microsoft.com/express/download,
но еще не ставила. Это то что нужно ?

quote=W4FhLF, 18.7.2008,  13:05, post1584084]За подробностями сюда:[/quote]

Спасибо.

Цитата(W4FhLF @  18.7.2008,  13:05 Найти цитируемый пост)
желательно иметь исходники винды, стянуть откуда-нибудь из торрентов, иногда туда полезно заглядывать


Ну в том, что полезно заглядывать в исходники, меня убеждать не надо smile
Правда, до этого, я лазила только в ReactOS. Есть что-то более близкое к оригиналу ?



[
PM MAIL   Вверх
W4FhLF
Дата 18.7.2008, 13:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


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

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



Цитата(Riply @  18.7.2008,  13:15 Найти цитируемый пост)
Это то что нужно ?


Если собираешься писать для висты включительно, то 2008 предпочтительнее просто из-за более новых хедеров и либ. 


Цитата(Riply @  18.7.2008,  13:15 Найти цитируемый пост)
Правда, до этого, я лазила только в ReactOS. Есть что-то более близкое к оригиналу ?


Ну я имел ввиду исходники Win NT4 и w2k, которые уплыли в сеть smile Хотя, там чёрт ногу сломит, иногда IDA + symbols помогают больше. Ну а если говорить о нормальной платформе для отладки дров, то тут лучше поставить VM и туда несколько ОС, держать для них символы и производить отладку удалённо через WinDBG (Driver Debugging with WinDbg and VMWare), если будешь отлаживать свои дрова, то фактически отладка ничем не будет отличаться от гуляния по исходнику как в студии. 


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
Riply
Дата 18.7.2008, 15:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Комодератор
Сообщений: 572
Регистрация: 27.3.2007
Где: St. Petersburg

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



W4FhLF, спасибо.

А с объявлением константы GUID, как я поняла, мне придется вручную
переводить строку в числовые значения ? 
Перевести то не сложно, но теряется "наглядность" да и в MSDN GUID "описывается" строками.
PM MAIL   Вверх
W4FhLF
Дата 18.7.2008, 15:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


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

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



Цитата(Riply @  18.7.2008,  15:35 Найти цитируемый пост)
А с объявлением константы GUID, как я поняла, мне придется вручнуюпереводить строку в числовые значения ? 


Функция CLSIDFromString сделает то, что тебе надо. Работает с т.н. OLESTR, которая по-существу является обычной Unicode строкой, поэтому передавай на вход UNICODE_STRING.Buffer.

Про функции для работы с UNICODE_STRING читать либо в MSDN, либо DDK Help, либо здесь.


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
Riply
Дата 18.7.2008, 16:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Комодератор
Сообщений: 572
Регистрация: 27.3.2007
Где: St. Petersburg

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



Цитата(W4FhLF @  18.7.2008,  15:53 Найти цитируемый пост)
Про функции для работы с UNICODE_STRING читать либо в MSDN, либо DDK Help, либо здесь. 


Да эти ф-ии я знаю.  
Мне нужно декларировать константу. Что-то типа:
const GUID MyGuid = {0, 1, 2, { 0, 1,  2,  3,  4,  5,  6,  7} };
Только хотелось вместо чисел использовать строку. В Delphi это возможно.
Вот я и интересовалась, реализовано ли это в C ?
PM MAIL   Вверх
W4FhLF
Дата 18.7.2008, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


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

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



Цитата(Riply @  18.7.2008,  16:34 Найти цитируемый пост)
Только хотелось вместо чисел использовать строку. В Delphi это возможно.Вот я и интересовалась, реализовано ли это в C ?


Только если написать свой макрос, но я бы не стал заморачиваться. 


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
bsa
Дата 18.7.2008, 17:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(Riply @ 18.7.2008,  16:34)
Вот я и интересовалась, реализовано ли это в C ?

Угу. Вот оно:
Код
#define RTL_CONSTANT_STRING(s)  { sizeof(s)-sizeof((s)[0]), sizeof(s), s }

PM   Вверх
W4FhLF
Дата 18.7.2008, 17:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


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

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



bsa, ты ничего не путаешь?

Цитата(http://msdn.microsoft.com/en-us/library/aa906838.aspx)

RTL_CONSTANT_STRING

The RTL_CONSTANT_STRING macro creates a string or Unicode string structure to hold a counted string.


Как это поможет из этого:

Цитата

"{4d36e967-e325-11ce-bfc1-08002be10318}"


Получить структуру:

Код

typedef struct _GUID {  
  DWORD Data1;  
  WORD Data2;  
  WORD Data3;  
  BYTE Data4[8];
} GUID;




--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
Riply
Дата 18.7.2008, 17:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Комодератор
Сообщений: 572
Регистрация: 27.3.2007
Где: St. Petersburg

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



Цитата(W4FhLF @  18.7.2008,  16:59 Найти цитируемый пост)
Только если написать свой макрос, но я бы не стал заморачиваться. 


Ну... "На нет и суда нет" smile
Насчет "заморачиваться" подумаю.
Этих констант много, лопатить их вручную лень.  Опять же потеря наглядности и "совместимости" с MSDN.
Есть еще один аргумент в пользу написания своего макроса: это поможет мне в обучении, если, конечно, получится smile

PM MAIL   Вверх
bsa
Дата 18.7.2008, 17:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



вообще-то я показал, как именно подобное замутить на Си.
Естественно, что реализация для GUID'а будет куда сложней. Хотя, если есть возможность отказаться от кавычек и дефисов, то можно вообще легко сделать. Если же нельзя, то придется огромный огород городить.
PM   Вверх
Страницы: (3) Все 1 [2] 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


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

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


 




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


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

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