Форум программистов, компьютерный форум CyberForum.ru

Структура unicode_string - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вычислить сумму ряда с заданной точностью http://www.cyberforum.ru/cpp-beginners/thread604896.html
работает только при значениях: 0, 1, -1, при остальных значениях не работает. Подскажите пожалуйста в чем проблема. Условие: Даны действительные числа x и ε. Вычислить с заданной точностью E=10^(-4) сумму ряда: s=1+nx+((n(n+1))/2!)*x^2+((n(n+1)(n+2))/3!)*x^3+((n(n+1)(n+2)(n+3))/4!)*x^4+... при #include <iostream> #include <cmath> using namespace std; double f(double x, double E); int...
C++ Считывание большого файла(~1гиг) нужно считать текст из большого файла по 1мб так, чтобы потом можно было потом обрабатывать строки(фильтровать). использовать функции библиотеки string нельзя. писала так while(!feof(f)){ str=""; while(!n==mb||!feof(f)){ c = fgets(line,1000000,f); w=strncat(str, line, strlen(line)); str+=line; i++; n=strlen(str);}} мне сказали так нельзя. нужно как то сделать с помощью функций read и... http://www.cyberforum.ru/cpp-beginners/thread604887.html
C++ задача с массивами:)
Умоляю,помогите решить задачу:)пожалуйста,никак не могу сам сделать:(а сроки поджимают:(Дан массив целых чисел в количестве 16 элементов. Найти такие элементы (а также их сумму), которые состоят из двух равных частей и имеют в своем составе цифру 3. Пример: 4343 9131 33 3313 646 3223 1313; результат: 4343+1313=5656.
C++ Где здесь ошибка?
Делаю все по видео уроку. У него работает все нормально у меня жалуется #include <allegro.h> #define MAXFILAS 20 // X #define MAXCOLS 31 // y BITMAP *buffer; BITMAP *roca; char mapa ={ "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "X XXXXX X",
C++ Переписать через указатели http://www.cyberforum.ru/cpp-beginners/thread604845.html
помогите написать эту программу с помощью указателей #include <iostream> #include <cstdlib> #include <ctime> using namespace std; int main() { int n=5;
C++ упростить решение диофантового уравнения. То есть есть x=x_0+at и y=y_0+bt, нужно к х и у подобрать такие t, чтобы х и у были минимальны Помогите пожалуйста с задачей, а то не получается доделать(( почти все сделала, а остатки не могу... Вот смотрите, мы задаем какие-то коэффициэнты при х и у: то есть система получается например х=700-4t1 и у=-300+8t2, ну вот надо подобрать такие t1 и t2, чтобы значения х и у стали минимальными и вывести эти минимальные х и у Вот исходная формулировка задания: Задание такое: упростить... подробнее

Показать сообщение отдельно
locm
1899 / 654 / 64
Регистрация: 28.10.2011
Сообщений: 1,979
Записей в блоге: 2
13.06.2012, 21:40  [ТС]     Структура unicode_string
Ладно. На самом деле проблема не то что в этой структуре, просто думал может из-за этого блока условной компиляции.
Мы имеем структуру DRIVER_OBJECT.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
typedef struct _DRIVER_OBJECT { 
     CSHORT Type; 
     CSHORT Size; 
 
     PDEVICE_OBJECT DeviceObject; 
     ULONG Flags; 
 
     PVOID DriverStart; 
     ULONG DriverSize; 
     PVOID DriverSection; 
     PDRIVER_EXTENSION DriverExtension; 
 
     UNICODE_STRING DriverName; 
 
     PUNICODE_STRING HardwareDatabase; 
 
     PFAST_IO_DISPATCH FastIoDispatch;
 
     PDRIVER_INITIALIZE DriverInit; 
     PDRIVER_STARTIO DriverStartIo; 
     PDRIVER_UNLOAD DriverUnload; 
     PDRIVER_DISPATCH MajorFunction[IRP_MJ_MAXIMUM_FUNCTION + 1]; 
 
 } DRIVER_OBJECT;
Я эту структуру в месте с UNICODE_STRING перевел на другой ЯП.
При компиляции под x86 систему все работает нормально, но на x64 системе - баги!
Похоже что вся проблема в типах переменных, точнее занимаемой ими памяти.
Я правильно понимаю что поля типа CSHORT занимают 2 байта независимо от разрядности ОС.
Поля, типа ULONG занимают 4 байта независимо от разрядности ОС.
Поля, начинающиеся с P являются указателями и занимают 4 байта в x86 и 8 байт в x64.

У меня получилось что в 32 битном коде, размер структуры равен 168 байт, а в 64-битном коде - 320 байт.
 
Текущее время: 18:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru