将C翻译成Pascal

时间:2013-03-12 18:14:48

标签: c freepascal

我试图将libfprint(fprint.h)的标题翻译成Pascal,但我找到了一个无法理解的结构和一些工具,例如" C2Pas"只发送错误。

结构如下:

struct fp_dscv_dev **fp_discover_devs(void);

其中fp_dscv_dev仅声明如下:

/* structs that applications are not allowed to peek into */
struct fp_dscv_dev;

Pascal中的等价物是什么?

提前致谢

1 个答案:

答案 0 :(得分:1)

Opague指针传统上是Pascal中的基本指针(如c中的void *)。

如果你真的想要结构方面返回将它定义为没有字段的记录:

    Type 
       fp_dscv_dev   = record end;

如评论中所述,**是双重参考 由于在大多数现代pascals中,引用不能在参数和返回值声明中,因此我们为它们定义了其他类型:

       pfp_dscv_dev  = ^fp_dscv_dev
       ppfp_dscv_dev = ^pfp_dscv_dev

最后声明本身是

   function fp_discover_devs:ppfp_dscv_dev; cdecl;