Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Вопросы по программированию на C/С++

Автор: vlary
Дата сообщения: 10.03.2013 15:57
AZJIO

Цитата:
как в данном случае работают функции, не зная о текущей системе?
Это программист ничего не обязан знать о текущей системе, пользуясь стандартными функциями типа fopen, read, write. А соответствующие библиотеки, типа msvcr80.dll, о ней все знают, и преобразуют эти функции в соответствующие вызовы WinAPI.
Автор: bomzzz
Дата сообщения: 10.03.2013 18:14
указатель файла скорее всего имеется ввиду указатель на место откуда будет произведено следующее считывание заданой порции.

только ядреные функции по моему склонны использовать указатель на хендл при его получении, все функции оболочки возвращают его (в регистре eax) при открытии файла и прочего, а при использовании он запихивается в стек целочисленно
Автор: AZJIO
Дата сообщения: 10.03.2013 19:54
bomzzz

Цитата:
а при использовании он запихивается в стек целочисленно
Не знаю что куда запихивается, но по опыту работы с AutoIt3, который использует обёртки этих же функций понятно, что просто выделяются ресурсы под механизм работы с конкретным файлом, некий объект содержащий позицию внутреннего указателя в файле, буфер, который уменьшает количество обращений к файлу и т.д.
Если сделать вывод этого указателя в AutoIt3, то ничего особенного он не содержит, просто порядковый номер. В С++ я ещё не тестил, но в справку пытаюсь указать правильные термины.

Цитата:
указатель файла скорее всего имеется ввиду указатель на место откуда будет произведено следующее считывание заданой порции.
Это другой указатель используемый в функцийх fseek, ftell. Правда при этом ещё не совсем понял отличие от fgetpos, fsetpos.

vlary

Цитата:
А соответствующие библиотеки, типа msvcr80.dll, о ней все знают
В теории я представлял что ЯП работает только с памятью и процессором, ведь неизвестно какая OS, линух, мак. А функции базовые.
Автор: kotlomoy
Дата сообщения: 11.03.2013 00:02
AZJIO

Цитата:
В теории я представлял что ЯП работает только с памятью и процессором, ведь неизвестно какая OS, линух, мак. А функции базовые.

Если посмотришь список ключевых слов C/C++, то не увидишь там никаких базовых функций, потому что их нет.
Есть стандартные библиотеки функций/классов. Реализация этих библиотек на каждой системе своя. К языку программирования это не имеет отношения.
Автор: AZJIO
Дата сообщения: 13.03.2013 12:08
Ещё одна справка (7 Мб) ссылка1, ссылка2
Автор: bomzzz
Дата сообщения: 13.03.2013 23:48
подскажите как создать ключ реестра по умолчанию - что туда записать? что то не соображу, вообще ничего что ли?
Автор: bomzzz
Дата сообщения: 14.03.2013 06:39
http://msdn.microsoft.com/ru-RU/library/windows/hardware/ff539509%28v=vs.85%29.aspx
http://msdn.microsoft.com/ru-RU/library/windows/hardware/ff564838%28v=vs.85%29.aspx
http://msdn.microsoft.com/en-us/library/windows/hardware/ff567788%28v=vs.85%29.aspx
а с помощью вот этого можно в нативном режиме управлять экраном? а ни у кого примеров на эту тему нет?
Автор: ne_viens
Дата сообщения: 14.03.2013 11:00

Цитата:
подскажите как создать ключ реестра по умолчанию - что туда записать? что то не соображу, вообще ничего что ли?


Ключ или значение?
Если первое, то default key несуществует, если второе, то просто NULL вместо названия пишем. Default value оставили для обратной совместимости с Win 3.0
Автор: bomzzz
Дата сообщения: 14.03.2013 12:00
ага параметр. имя null, а данные пусто?
Автор: ne_viens
Дата сообщения: 14.03.2013 12:20
Неа, что-то надо будет записать. String только.
Автор: bomzzz
Дата сообщения: 14.03.2013 16:06
string_sz, а длина не написано ничего вообще, даже нуля нету
Автор: ne_viens
Дата сообщения: 14.03.2013 21:12
?

RegSetValue(HKEY_LOCAL_MACHINE, "SOFTWARE\\testKey", REG_SZ, "Default Value Data String", 0);
Автор: bomzzz
Дата сообщения: 14.03.2013 21:13
для ядра. я разбор строки окончательно утвердил и к reg query вернулся
Автор: bomzzz
Дата сообщения: 16.03.2013 21:57
как в kernel mode файл переименовать?

нашел
http://msdn.microsoft.com/en-us/library/windows/hardware/ff540344%28v=vs.85%29.aspx
Автор: AZJIO
Дата сообщения: 17.03.2013 04:10
Справка (7 Мб) ссылка1, ссылка2 Теперь и в эту справку добавил ссылки в коде. В разделе "Сборник задач" доступны "Решения"
Автор: bomzzz
Дата сообщения: 17.03.2013 16:20
никто не подскажет как freespace получить на диске в kernel mode?
сделал del move ren теперь copy делаю

Добавлено:
еще фигня такая не могу ctrl alt del перехватить. саму del получается, а нажатую чета ни фига, вроде с зажатым alt+del и ctrl+del другой скан код но все равно нифига
Автор: AZJIO
Дата сообщения: 17.03.2013 17:52
Сделал цветовую схему Black для CodeBlocks. Файл настроек находится по адресу "C:\Documents and Settings\имя_пользователя\Application Data\CodeBlocks\default.conf". Файл в формате XML, тема вставляется в секцию "<editor> -> <colour_sets>" после секции <default>. Вид будет как в справке с Black.
Автор: bomzzz
Дата сообщения: 18.03.2013 14:41
не могу нагуглить какой IOCTL надо посылать WimFltr драйверу чтоб примаунтить wim образ как том. че уже в гугл только не забивал. никто не знает как найти?
уже китайцам написал, но они уже давно это дело забросили
у китайцев есть библиотека готовая для этого дела, но хотелось бы самому сделать. библиотеку дезасемблировал, но там только видно какие функции используются, а че куда посылается нифига не понятно
___security_cookie
NtDeviceIoControlFile
Автор: adasiko
Дата сообщения: 18.03.2013 16:37
AZJIO

Цитата:
Справка (7 Мб) ссылка1, ссылка2

Ошибок много пунктуационных :/
TL;DR, но прочитал тему про выбор IDE
На этой фразе у меня мозг сломался "OS X - IDE для разработки программ в OS X или iPhone."
Автор: ne_viens
Дата сообщения: 18.03.2013 17:05

Цитата:
"OS X - IDE для разработки программ в OS X или iPhone."


Скорее "Xcode- IDE для..."


Цитата:
...у китайцев есть библиотека...


Какая библиотека, где найти можно?
Автор: bomzzz
Дата сообщения: 18.03.2013 18:56
ne_viens
http://nativeshell.googlecode.com/svn/trunk/
http://nativeshell.googlecode.com/svn/trunk/native/
http://bbs.wuyou.com/viewthread.php?tid=188616&page=14
уже готовая библиотека, она приляпывается с приложению и просто вызываешь фукцию с путем к виму, какой вложенный вим из него приляпать


Цитата:
LaotouMountImage (
LPWSTR lpszMountPath, / / ;крепление путь
LpszWimFileName LPWSTR, / / ;установлен WIM-файла
DWORD dwImageIndex, / / ;индекс
LPWSTR lpszTempPath / / временный путь к каталогу, только для чтения смонтировать на NULL.


где то ж они это нарыли. там четыре подпрограммы внутри библиотеки

LaotouConnectCommunicationPort
LaotouSendMessage
SendMountMsg
LaotouMountImage

сяо ляо можно опустить суть понятна из названий. виндовые фукции используются
___security_cookie
NtDeviceIoControlFile

вот еще есть описание от того же автора видимо. утилиты нативной
Автор: AZJIO
Дата сообщения: 18.03.2013 21:44
adasiko

Цитата:
Ошибок много пунктуационных :/
На счёт ошибок - это не ко мне. Я не являюсь автором статей. Я всего лишь преобразовал онлайн справку в офлайн вариант в CHM, добавил цветовую схему и некоторые перекрёстные ссылки для улучшения юзабельности. Контент я совсем не трогал и вряд ли буду.
А вот первый вариант - книга Герберта Шилдта, которой наверно уже 13 лет, там в разделе функций можно немного упорядочить контент.

Кстати в чате посмотрел ссылку на С++11 и тоже сделал CHM.
Автор: bomzzz
Дата сообщения: 18.03.2013 22:09
блин сутки не могу с места сдвинуться. как получить свободное место на разделе в kernel mode? уже что только в гугл не вбивал одну херню находит

хорошая мысля приходит апосля ZwQueryVolumeInformationFile
Автор: bomzzz
Дата сообщения: 19.03.2013 08:45
никто не может работающий пример NtQueryVolumeInformationFile привести. как не делаю только нули возвращает, код ошибки статус саксес

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

FILE_FS_SIZE_INFORMATION STRUCT
    TotalAllocationUnits        INT64    ?
    CallerAvailableAllocationUnits    INT64    ?
    ActualAvailableAllocationUnits    INT64    ?
    SectorsPerAllocationUnit    DWORD    ?
    BytesPerSector            DWORD    ?
FILE_FS_SIZE_INFORMATION ENDS
PFILE_FS_SIZE_INFORMATION typedef ptr FILE_FS_SIZE_INFORMATION

Добавлено:
да если так продираться это долго будет. сам ошибок лепишь немерено, фукции недокументированные, в мсдне лажа попадается, так еще инклуды с косяками и для 2000-ка. и догадайся в чем дело
это я больше суток суммарного времени протрахался для того, чтоб всего лишь узнать достаточно ли на диске места для копирования файлы
Автор: Regina93
Дата сообщения: 19.03.2013 17:59
Здравствуйте! В моей программе (язык С++) есть класс Stack со своими методами. Там всё работает, проблем нет. Мне осталось только вынести тела методов в другой файл. И вот с этим проблема. Как вынести тела методов просто за пределы класса, но оставаясь в том же файле, я знаю. А вот чтобы в другой файл, нет. Подскажите пожалуйста кто-нибудь. Заранее спасибо.
Автор: kotlomoy
Дата сообщения: 19.03.2013 20:20
Regina93
http://goo.gl/HBWXN
Автор: bomzzz
Дата сообщения: 20.03.2013 06:34
никто с расжатием сжатого числа никогда не замыкал?
есть какой то общепризнаный алгоритм? я делал через тупое расжатие но вчера чета подумал - новый вот алгоритм в голову пришел гораздо быстрый. но тут погляжу что возможно от таблицы можно отказаться, все таки 159 байт - жуткая растрата памяти
[more]
TW    "000102030405060708090A0B0C0D0E0F", compressdecimaltable
TW    "101112131415161718191A1B1C1D1E1F"
TW    "202122232425262728292A2B2C2D2E2F"
TW    "303132333435363738393A3B3C3D3E3F"
TW    "404142434445464748494A4B4C4D4E4F"
TW    "505152535455565758595A5B5C5D5E5F"
TW    "606162636465666768696A6B6C6D6E6F"
TW    "707172737475767778797A7B7C7D7E7F"
TW    "808182838485868788898A8B8C8D8E8F"
TW    "909192939495969798999A9B9C9D9E9F"
......
    fbstp CReg
    lea esi,CReg
    lea edi,FString+32
    mov ecx, 9
next:
    xor eax, eax
    lodsb
    shl eax, 2
    add eax, offset compressdecimaltable
    mov ebx, dword ptr[eax]
    mov dword ptr[edi], ebx
    sub edi, 4
    loop next
    invoke MessageBoxW,0,addr FString,0,MB_OK + MB_ICONASTERISK
[/more]
Автор: ItsJustMe
Дата сообщения: 20.03.2013 11:08

Цитата:
никто с расжатием сжатого числа никогда не замыкал?

Фразу можно сразу в анналы. Даже перевод на человеческий не столь важен. Ибо смысл - ничто, главное - звучание!
Автор: bomzzz
Дата сообщения: 20.03.2013 11:52
засунь ее в аналы.
сбил забыл что спросить хотел
Автор: akaGM
Дата сообщения: 20.03.2013 12:12

Цитата:
засунь ее в аналы.
тоже ничё так пожелание...

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193

Предыдущая тема: не знаю как назвать тему :-)


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.