Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.11.04;
Скачать: CL | DM;

Вниз

Помогите с конвертацие проги с С++   Найти похожие ветки 

 
andreil ©   (2007-09-29 19:34) [0]

У меня пара вопросов:
  какие типы данных из С, каким типам из Дельфи соответствуют;
  что означает функия "_rotl(checksum, 4) ^ *((char *)buffer)++"
  чего это такое: ^dest_p+ = rep ?


 
KSergey ©   (2007-10-01 12:05) [1]

> какие типы данных из С, каким типам из Дельфи соответствуют;

Это надо читать хелпы к обоим продуктам и сравнивать. Лично мне лень все соотвествия расписывать, да и не знаю я все.

> что означает функия "_rotl(checksum, 4) ^ *((char *)buffer)++"

А что именно не понятно в этом выражении? Или о какой именно функции речь?

^ - bitwise-exclusive-OR

> чего это такое: ^dest_p+ = rep ?

Чета я не понимаю такого, признаться. не могу найти, чтобы ^ был унарным в С/С++.


 
Rouse_ ©   (2007-10-01 12:09) [2]

Примеров рассчета CRC32 на дельфи в инете море - зачем в сишных исходниках возиться?


 
clickmaker ©   (2007-10-01 12:13) [3]


> ^dest_p+ = rep ?

Inc(not dest_p, rep)


 
DVM ©   (2007-10-01 12:24) [4]

_rotl циклический сдвиг влево судя по названию, точно такого же аналога в Delphi вроде нет.


 
Rouse_ ©   (2007-10-01 13:12) [5]


> точно такого же аналога в Delphi вроде нет.

Дык его писать то...

function _rotl(Value: DWORD; Shift: Integer): DWORD;
asm
 MOV ECX, EDX
 ROL EAX, CL
end;


 
tesseract ©   (2007-10-01 14:13) [6]


> _rotl циклический сдвиг влево судя по названию, точно такого
> же аналога в Delphi вроде нет.


Dest:=Dest shl shift ?

Или я не тот сдвиг в виду имею?


 
Rouse_ ©   (2007-10-01 14:16) [7]


> Или я не тот сдвиг в виду имею?

не тот :)
Смотри разницу между
SAL/SAR/SHL/SHR и RCL/RCR/ROL/ROR в
IA-32 Intel  Architecture Software Developer’s Manual части второй :)


 
andreil ©   (2007-10-05 15:46) [8]

Вот все, что мне надо на данный момент:

Типы данных:
int    integer
float   фиг_его_знает
char   string
unsigned  фиг_его_знает
short   фиг_его_знает
unsigned short фиг_его_знает
char name[56]; name: array[0..56] of char;

#define myoffsetof(type,identifier) ((size_t)&((type *)0)->identifier)
 ????????????

Заголовки функций и  процедур:
int FastChecksum(void *buffer, int bytes);
 function FastChecksum(var buffer: Pointer; bytes: integer): integer;
ArrayUsage( char *szItem, int items, int maxitems, int itemsize )
 procedure(szItem: string; items, maxitems, itemsize: integer): integer;

#if 0
{$IF false}

Аналоги функций:
char *        _RTLENTRY _EXPFUNC getenv(const char * __name);
char _FAR * _RTLENTRYF _EXPFUNC strcpy(char _FAR *__dest, const char _FAR *__src);
char _FAR * _RTLENTRYF _EXPFUNC strcat(char _FAR *__dest, const char _FAR *__src);


 
clickmaker ©   (2007-10-05 16:42) [9]

float   double
char   char
unsigned  Longword
short   ShortInt
unsigned short Word

int FastChecksum(void *buffer, int bytes);
function FastChecksum(buffer: Pointer; bytes: integer): integer;
ArrayUsage( char *szItem, int items, int maxitems, int itemsize )
procedure(szItem: PChar; items, maxitems, itemsize: integer): integer;


 
clickmaker ©   (2007-10-05 16:46) [10]

strcpy - StrCopy или lstrcpy (WinAPI)
getenv - GetEnvironmentVariable (winAPI)
strcat - StrCat (учитывая, что Паскаль не чует регистр, можно и не переводить)


 
Andru ©   (2007-10-05 16:46) [11]

short - smallint;
char  - char, byte или shortint (зависит от опций компиляции)
unsigned - cardinal;


 
clickmaker ©   (2007-10-05 16:56) [12]


> #define myoffsetof(type,identifier) ((size_t)&((type *)0)->identifier)

Разве что
PSomeRecord = ^TSomeRecord;
Offset := Integer(@(PSomeRecord(0)).SomeField);


 
andreil ©   (2007-10-05 22:38) [13]

Спасибо за помощи, щас вставим в код и проверим.
Кстати, нащел еще одну функцию:
  void _FAR * _RTLENTRY  _EXPFUNC memcpy(void _FAR *__dest, const void _FAR *__src,  _SIZE_T __n);


 
57810415   (2007-10-07 22:12) [14]

— Зеленом. Я взяла мелодию из «Равнодушной Богини».


 
61D2AE2F   (2007-10-07 22:24) [15]

— А вам не кажется, — слова Фай Родис сопровождались ее обычной скользящей
улыбкой, — что «Вспаханный Рай» не подходит для стихов ЭРМ? Дейра Мир, недавно
создавшая кантату, сторонница сумрачного красно-оранжевого спектра мелодий. А мне
представляется, что поэты ЭРМ — хорошие люди, потому что создавали в тех условиях
добрые, хорошие вещи голубого спектра. Вы знаете, что из тех времен я больше всего ценю
русскую поэзию! Она мне кажется наиболее глубокой, мужественной и человечной среди
поэтического наследия всего тогдашнего мира. Хорошие люди всегда носили в себе печаль
неустроенной, инфернальной жизни, и мелодии их песен не должны были быть мажорнее
зеленого спектра.



Страницы: 1 вся ветка

Текущий архив: 2007.11.04;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.013 c
15-1191487519
Beginner3
2007-10-04 12:45
2007.11.04
Комплексные числа


2-1192236766
Andrey_rus
2007-10-13 04:52
2007.11.04
MoveRect?


2-1191952011
SveTTT
2007-10-09 21:46
2007.11.04
Коды кнопок


3-1182482712
Sw
2007-06-22 07:25
2007.11.04
DBGrid


15-1191319495
Azize
2007-10-02 14:04
2007.11.04
Посветуйте литературу