Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2007.11.04;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.038 c
2-1192086758
Quart
2007-10-11 11:12
2007.11.04
Подключение к БД


2-1192137004
Johnnnnn
2007-10-12 01:10
2007.11.04
как узнать activecell excel


15-1190945751
Slider007
2007-09-28 06:15
2007.11.04
С днем рождения ! 28 сентября 2007 пятница


15-1191253714
ist
2007-10-01 19:48
2007.11.04
Windows Filter-Hook driver..


10-1139914636
Andy BitOff
2006-02-14 13:57
2007.11.04
Ворд. Макрос. При ворд=visible работает, а в фоне нет.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский