Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Visual C++

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13

Открыть новую тему     Написать ответ в эту тему

digitalx

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
У меня вообщем такая проблема: создаю в С++ проект и при компляции пишет что то типо "не могу найти <windows.h>" и про <iostream> что то. Подскажите что делать, плз!!
Среда MS Visual Studio 2008 Team Edition.

Всего записей: 2 | Зарегистр. 02-03-2008 | Отправлено: 18:47 02-03-2008
digitalx

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ап

Всего записей: 2 | Зарегистр. 02-03-2008 | Отправлено: 17:14 04-03-2008
Zox



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Поможите с таким вопросом уважаемые - есть ли аналоги функций absread и abswrite в VS C++ 2008, нужно консольную прогу перенести с Borland C++ 3.21 на VS. Я с остальными несостыковками разобрался а вот как эти функции сделать рабочими не понимаю, искал в MSDN - находит фигню не о том совсем

Всего записей: 44 | Зарегистр. 01-04-2006 | Отправлено: 16:24 10-03-2008 | Исправлено: Zox, 16:24 10-03-2008
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Zox
это, вообще-то, досовские функции, не знаю, позволят ли тебе винды напрямую читать
диск... если позволят, то рой в ассемблерных форумах по поводу использования интерраптов 25h / 26h

Всего записей: 24116 | Зарегистр. 06-12-2002 | Отправлено: 17:03 10-03-2008
MrZeRo



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Zox
Что-то в таком стиле, может быть ....

Цитата:
 
//Open a physical drive
hPhDrive = CreateFile("\\\\.\\PhysicalDriveX",
GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, 0,
OPEN_EXISTING, 0, 0);
//Where X is the number of the physical drive(0 - C:, 1 - D: ...)
//Now you can use the same functions for physical disk access as for file access.
SetFilePointer(hPhDrive, 0, 0, FILE_BEGIN);
ReadFile(hPhDrive, lpBuffer, sizeof(buffer), &dwNumRead, 0);
 

Но надо аккуратно ...  
Вот еще поучительно ознакомиться: hччp://www.chrysocome.net/explore2fs - Explore2fs is a GUI explorer tool for accessing ext2 and ext3 filesystems.

----------
... не это главное ...

Всего записей: 831 | Зарегистр. 30-01-2002 | Отправлено: 18:06 11-03-2008
Zox



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM

Цитата:
это, вообще-то, досовские функции,  

Да досовские, я и использую include <dos.h>, но его урезали по сравнению с тем что borland C, нету почти ничего.
MrZeRo - спасибо, поищем, попробуем

Всего записей: 44 | Зарегистр. 01-04-2006 | Отправлено: 19:24 11-03-2008
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Zox
эта absread() пишется на асме в три строчки, только вот пойдёт ли она под виндой -- я не знаю...

Всего записей: 24116 | Зарегистр. 06-12-2002 | Отправлено: 20:06 11-03-2008
Zox



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM
напиши эти три строчки -  я уж попробую)))

Всего записей: 44 | Зарегистр. 01-04-2006 | Отправлено: 19:03 12-03-2008
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Zox
ну три -- не три, а немного...

Код:
 
int absread(DWORD drive, DWORD sects, DWORD lsect, void *buffer)
/*int absread(unsigned char drive, DWORD sects, DWORD lsect, void *buffer)*/
{
  _asm {
/* push  ebp*/  
 
    mov  eax, dword ptr drive
 
/* если  drive=char то:
    xor    eax, eax
    mov  al, byte ptr drive
*/
 
/*    lea    ebx, dword ptr buffer*/
    mov  ebx, dword ptr [buffer]
    mov  ecx, dword ptr sects
    mov  edx, dword ptr lsect
    int     25h
    pop   edx  /*dx -- фиг его знает, раньше слово на стеке набегало...*/
    jnc    success
//не надо    xor eax, eax //в ах код ошибки...
success:
/*    pop  ebp*/
  }
}

 
если будет работать, но глючить, то попробуй с комментами поиграть...
 
-----
всё равно отмазка:
я ни за что не отвечаю...

Всего записей: 24116 | Зарегистр. 06-12-2002 | Отправлено: 19:25 12-03-2008 | Исправлено: akaGM, 19:33 12-03-2008
Abs62



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM

Цитата:
всё равно отмазка:  
я ни за что не отвечаю..

Честно говоря, человеку, не понимающему разницу между консольным приложением и dos-программой и суть работы absread/abswrite, я бы вообще поостерёгся подобные вещи давать. Прямой доступ к диску в неопытных руках может позволить немало дров наломать.
Правда, int 25h вряд ли большого вреда натворит.
 
Тут надо сначала выяснить, а нужно ли это вообще, а уж потом искать варианты.

----------
0 программистов ругал сердитый шеф
Потом уволил одного, и стало их FF

Всего записей: 6080 | Зарегистр. 22-10-2005 | Отправлено: 22:12 14-03-2008
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Abs62

Цитата:
Тут надо сначала выяснить...

если выяснять поднаготную каждого вопроса...
"не царское это дело..."

Цитата:
Правда, int 25h вряд ли большого вреда натворит

ну да...
тем более, я вроде как сам напросился, неудобно как-то стало...
и, кстати, я _совершенно_  не уверен, что мой код -- рабочий...
и вообще не представляю себе как действовать в обход API под виндами,
даже не знаю, надо ли стек-фрейм здесь выставлять/сохранять/восстанавливать
правда, мне это и не надо... слава богу...

Всего записей: 24116 | Зарегистр. 06-12-2002 | Отправлено: 23:25 14-03-2008
i603034

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Люди, какие настройки проекта и где нужно прописать (помню, что в 2-3 местах), чтобы программа, написанная на Visual C++ в MS Visual Studio 6, запускалась на компьютерах, где VS не установлена??? Я забыл, т.к. 2 года уже этим не пользовался, но мне очень-очень нужно!!!!!

Всего записей: 24 | Зарегистр. 14-12-2006 | Отправлено: 12:36 17-03-2008 | Исправлено: i603034, 12:37 17-03-2008
cmncorp



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

я решал этот вопрос копированием этих двух библиотек в каталог с программой:
 
MFC42D.DLL
MSVCRTD.DLL
 
А вообще нужные библиотеки можно подключить в project->settings->
вкладка с++ насколько помню
там есть строчка, в которой прописаны библиотеки прямым текстом через пробел. Дописываешь там свои и всё

Всего записей: 14 | Зарегистр. 20-04-2006 | Отправлено: 11:01 21-03-2008
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
i603034

Цитата:
чтобы программа, написанная на Visual C++ в MS Visual Studio 6, запускалась на компьютерах, где VS не установлена???

 
используй статические либы вместо динамических:
/ML

Всего записей: 24116 | Зарегистр. 06-12-2002 | Отправлено: 12:48 21-03-2008
marrow1

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем привет! Прошу помощи, так как я не силен в программировании. Пишу программу в Visulal Studio 2005 (C++ MFC). У меня есть значения e,f,g,h типа int мне нужно их по очередности перевести в бинарные, и выполнить над ними операции AND и обратно конвертировать в integer . Подскажите пожалуйста. Дайте плиз пример как например конвертнуть e и f и над ними виполнить лигическую операцию AND. спасибо заранее.

Всего записей: 801 | Зарегистр. 21-12-2006 | Отправлено: 19:43 21-03-2008
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
надо было в  
задачи по С
там и ответил...

Всего записей: 24116 | Зарегистр. 06-12-2002 | Отправлено: 20:11 21-03-2008 | Исправлено: akaGM, 20:54 21-03-2008
NoAngel777



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
marrow1

Цитата:
 меня есть значения e,f,g,h типа int мне нужно их по очередности перевести в бинарные, и выполнить над ними операции AND и обратно конвертировать в integer .

Зачем что-то куда-то переводить???
 

Код:
e & f

Всего записей: 2561 | Зарегистр. 04-04-2006 | Отправлено: 20:35 21-03-2008
Breakwater

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
2 marrow1
их никуда переводить не нужно. В компьюетере они и так в двоичной, а для программиста выглдят как целое десятичное (точнее для компилятора).  
Может тебе просто функция нужна которая выводит 10-ое число в 2-ой сс ?

Всего записей: 3 | Зарегистр. 21-03-2008 | Отправлено: 20:57 21-03-2008
marrow1

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
нет, посчитать нужно, спасибо, попробую.

Всего записей: 801 | Зарегистр. 21-12-2006 | Отправлено: 23:34 21-03-2008
AKRAS

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Скажите пожалуста как заставить  понимать Visual C++ 6.0 русский  
Например:
 
#include <iostream.h>
 
int main()
{
 cout<<"Hello Word!\n";
 return 0;
}
 
я хочу написать
 
#include <iostream.h>
 
int main()
{
 cout<<"Здраствуй\n";
 return 0;
}
 
Выходит
???#@?:xsa- карлюки
Что делать скажите

Всего записей: 2 | Зарегистр. 23-03-2008 | Отправлено: 01:25 25-03-2008
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Visual C++


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru