ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование_OLD > С/С++, C#, Delphi, .NET, Asm
   
 
 
Опции темы Поиск в этой теме Опции просмотра

Помогите
  #431  
Старый 13.11.2007, 12:44
mmc
Новичок
Регистрация: 04.10.2007
Сообщений: 5
Провел на форуме:
32661

Репутация: -22
Cool Помогите

сделайте пожалуйста на с++ консоль..задания

Для тестирования предусмотреть возможность задавать элементы массива различным образом: при описании с инициализацией, присвоением значений (в том числе случайных), или вводом необходимых значений.
1. Найти сумму элементов массива, являющихся степенями числа2.
2. Найти наименьшее среди чисел первой последовательности, не входящих во вторую.
3. Получить массив С(k), упорядоченный по возрастанию, путем слияния массивов A(n) и B(m), упорядоченных перед этим по возрастанию, где k = n + m.
 

  #432  
Старый 16.11.2007, 08:45
iv.
Moderator - Level 7
Регистрация: 21.03.2007
Сообщений: 1,200
Провел на форуме:
7134052

Репутация: 1204


По умолчанию

Пробую работать с функциями AWE. Вызываю следующим образом:
Код:
bResult = AllocateUserPhysicalPages(GetCurrentProcess(), &NumberOfPages, aPFNs);
bResult = MapUserPhysicalPages(lpMemReserved, NumberOfPages, aPFNs);
bResult = MapUserPhysicalPages(lpMemReserved, NumberOfPages, NULL);
bResult = FreeUserPhysicalPages(GetCurrentProcess(), &NumberOfPages, aPFNs);
Ну т.е. как в примере MSDN. На каждый вызов ругается "identifier not found".
kernel32.lib подключен.
Не пойму в чем дело, подскажите где я мог лажануть..
 

  #433  
Старый 16.11.2007, 09:50
KEZ
Banned
Регистрация: 18.05.2005
Сообщений: 1,981
Провел на форуме:
1941233

Репутация: 2726


По умолчанию

Код:
#define _WIN32_WINNT 0x0500
#include <windows.h>
 

  #434  
Старый 16.11.2007, 10:33
iv.
Moderator - Level 7
Регистрация: 21.03.2007
Сообщений: 1,200
Провел на форуме:
7134052

Репутация: 1204


По умолчанию

С директивами всё норм.)
Всмысле они были прописаны и всё равно не компилится.

Последний раз редактировалось iv.; 16.11.2007 в 10:41..
 

  #435  
Старый 16.11.2007, 10:42
KEZ
Banned
Регистрация: 18.05.2005
Сообщений: 1,981
Провел на форуме:
1941233

Репутация: 2726


По умолчанию

давай исходник
 

  #436  
Старый 16.11.2007, 10:44
iv.
Moderator - Level 7
Регистрация: 21.03.2007
Сообщений: 1,200
Провел на форуме:
7134052

Репутация: 1204


По умолчанию

Код:
#include <stdio.h>
#include <windows.h>
#define _WIN32_WINNT 0x0501
#define MEMORY_REQUESTED 1024*1024	// request a megabyte

void main(void)
{
	BOOL bResult;                   // generic Boolean value
	ULONG_PTR NumberOfPages;        // number of pages to request
	ULONG_PTR NumberOfPagesInitial; // initial number of pages requested
	ULONG_PTR *aPFNs;               // page info; holds opaque data
	PVOID lpMemReserved;            // AWE window
	SYSTEM_INFO sSysInfo;           // useful system information
	int PFNArraySize;               // memory to request for PFN array

	GetSystemInfo(&sSysInfo);		// fill the system information structure
	printf("This computer has page size %d.\n", sSysInfo.dwPageSize);
	NumberOfPages = MEMORY_REQUESTED/sSysInfo.dwPageSize;	// calculate the number of pages of memory to request
	printf("Requesting %d pages of memory.\n", NumberOfPages);
	PFNArraySize = NumberOfPages * sizeof (ULONG_PTR);		// calculate the size of the user PFN array
	printf ("Requesting a PFN array of %d bytes.\n", PFNArraySize);

	aPFNs = (ULONG_PTR *) HeapAlloc(GetProcessHeap(), 0, PFNArraySize);

	NumberOfPagesInitial = NumberOfPages;
	bResult = AllocateUserPhysicalPages(GetCurrentProcess(), &NumberOfPages, aPFNs); // allocate the physical memory
    
	if(bResult != TRUE) printf("Cannot allocate physical pages (%u)\n", GetLastError()); return;
	if(NumberOfPagesInitial != NumberOfPages) printf("Allocated only %p pages.\n", NumberOfPages); return;

	lpMemReserved = VirtualAlloc(NULL, MEMORY_REQUESTED, MEM_RESERVE | MEM_PHYSICAL, PAGE_READWRITE); // reserve the virtual memory
	if(lpMemReserved == NULL) printf("Cannot reserve memory.\n"); return;
    
	bResult = MapUserPhysicalPages(lpMemReserved, NumberOfPages, aPFNs);
	if(bResult != TRUE) printf("MapUserPhysicalPages failed (%u)\n", GetLastError()); return;

	bResult = MapUserPhysicalPages(lpMemReserved, NumberOfPages, NULL); // unmap
	if(bResult != TRUE) printf("MapUserPhysicalPages failed (%u)\n", GetLastError()); return;
  
	bResult = FreeUserPhysicalPages(GetCurrentProcess(), &NumberOfPages, aPFNs); // free the physical pages
	if(bResult != TRUE) printf("Cannot free physical pages, error %u.\n", GetLastError()); return;

	bResult = VirtualFree(lpMemReserved, 0, MEM_RELEASE); // free virtual memory
	bResult = HeapFree(GetProcessHeap(), 0, aPFNs); // release the aPFNs array
	if(bResult != TRUE) printf("Call to HeapFree has failed (%u)\n", GetLastError());

	return;
}
 

  #437  
Старый 16.11.2007, 11:02
KEZ
Banned
Регистрация: 18.05.2005
Сообщений: 1,981
Провел на форуме:
1941233

Репутация: 2726


По умолчанию

Цитата:
Сообщение от iv.  
#include <windows.h>
#define _WIN32_WINNT 0x0501
а я что тебе написал?

Цитата:
Сообщение от KEZ  
#define _WIN32_WINNT 0x0500
#include <windows.h>
разница есть?
 

  #438  
Старый 16.11.2007, 11:05
KEZ
Banned
Регистрация: 18.05.2005
Сообщений: 1,981
Провел на форуме:
1941233

Репутация: 2726


По умолчанию

На всякий случай. Разница не в 500 или 501. А в том, что в windows.h стоят #ifdef, #if и т.п. директивы, поэтому объявлять надо заранее, чтобы правильно процессилась windows.h
иначе нахер ещё писать этот дефайн?
 

  #439  
Старый 17.11.2007, 01:43
inv
Banned
Регистрация: 03.08.2007
Сообщений: 313
Провел на форуме:
951141

Репутация: 291
По умолчанию

WinAPi FindFirstFile FindNextFile
список файлов\директорий по алфавиту всегда выводится?

(мне нужно по алфавиту и размеру)

Последний раз редактировалось inv; 17.11.2007 в 01:47..
 

  #440  
Старый 17.11.2007, 13:18
KEZ
Banned
Регистрация: 18.05.2005
Сообщений: 1,981
Провел на форуме:
1941233

Репутация: 2726


По умолчанию

http://msdn2.microsoft.com/en-us/library/aa364418.aspx

Цитата:
Сообщение от MSDN  
The order in which the search returns the files, such as alphabetical order, is not guaranteed, and is dependent on the file system. You cannot depend on any specific ordering behavior. If the data must be sorted, you must do the ordering yourself after obtaining all the results.
например, через std::sort, помоему она умеет сортировать
строки...
 
 





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ