(no subject)
Jun. 27th, 2007 03:22 pmЧем больше живу, тем больше убеждаюсь, что единственное сильное искренне чувство, которое я способен испытать - это ненависть.
У MS есть замечатеьная библиотека архивации.
Описано два макроса для распаковки:
#define FNREAD(fn) UINT FAR DIAMONDAPI fn(INT_PTR hf, void FAR *pv, UINT cb)
и упаковки
#define FNFCIREAD(fn) UINT FAR DIAMONDAPI fn(INT_PTR hf, void FAR *memory, UINT cb, int FAR *err, void FAR *pv)
По сути - полные аналоги, только у упаковщика есть user-defined параметр pv.
Угадайте, в какую переменную пользователь будет складывать данные, если сперва он реализовал распаковку, а объявление функций даны ему в виде
FNREAD(file_read)
и
FNFCIREAD(fci_read)
соответственно :)
У MS есть замечатеьная библиотека архивации.
Описано два макроса для распаковки:
#define FNREAD(fn) UINT FAR DIAMONDAPI fn(INT_PTR hf, void FAR *pv, UINT cb)
и упаковки
#define FNFCIREAD(fn) UINT FAR DIAMONDAPI fn(INT_PTR hf, void FAR *memory, UINT cb, int FAR *err, void FAR *pv)
По сути - полные аналоги, только у упаковщика есть user-defined параметр pv.
Угадайте, в какую переменную пользователь будет складывать данные, если сперва он реализовал распаковку, а объявление функций даны ему в виде
FNREAD(file_read)
и
FNFCIREAD(fci_read)
соответственно :)