h2pas

H2PAS - Free Pascal C header to pascal unit translator.

What follows below is the man page of h2pas. If you have installed the man pages then you can view them with the man command.
h2pas(1) Free Pascal C header conversion utility h2pas(1)
NAME
 h2pas - The C header to pascal unit conversion program.
SYNOPSIS
 h2pas [options] filename
DESCRIPTION
 h2pas attempts to convert a C header file to a pascal
 unit. it can handle most C constructs that one finds in a
 C header file, and attempts to translate them to their
 pascal counterparts. see the CONSTRUCTS section for a full
 description of what the translator can handle.
USAGE
 H2pas is a command-line tool that translates a C header
 file to a spascal unit. It reads the C header file and
 translates the C declarations to equivalent pascal decla-
 rations that can be used to access code written in C.
 The output of the h2pas program is written to a file with
 the same name as the C header file that was used as input,
 but with the extension .pp. The output file that h2pas
 creates can be customized in a number of ways by means of
 many options.
OPTIONS
 The output of h2pas can be controlled with the following
 options:
 -d use external; for all procedure and function decla-
 rations.
 -D use external libname name 'func_name' for function
 and procedure declarations.
 -e Emit a series of constants instead of an enumera-
 tion type for the C enum construct.
 -i create an include file instead of a unit (omits the
 unit header).
 -l libname
 specify the library name for external function dec-
 larations.
 -o outfile
 Specify the output file name. Default is the input
 file name with the extension replaced by .pp "."
FreePascal 12 Dec 1999 1
h2pas(1) Free Pascal C header conversion utility h2pas(1)
 -p use the letter P in front of pointer type parame-
 ters instead of "^".
 -s Strip comments from the input file. By default com-
 ments are converted to comments, but they may be
 displaced, since a comment is handled by the scan-
 ner.
 -t prepend typedef type names with the letter T (used
 to follow Borland's convention that all types
 should be defined with T).
 -v replace pointer parameters by call by reference
 parameters. Use with care because some calls can
 expect a NIL pointer.
 -w Header file is a win32 header file (adds support
 for some special macros).
 -x handle SYS_TRAP of the PalmOS header files.
CONSTRUCTS
 The following C declarations and statements are recog-
 nized:
 defines
 defines are changed into pascal constants if they
 are simple defines. macros are changed - wherever
 possible to functions; however the arguments are
 all integers, so these must be changed manually.
 Simple expressions in define staments are recog-
 nized, as are most arithmetic operators: addition,
 substraction, multiplication, division, logical
 operators, comparision operators, shift operators.
 The C construct ( A ? B : C) is also recognized and
 translated to a pascal construct with an IF state-
 ment (this is buggy, however).
 preprocessor statements
 the conditional preprocessing commands are recog-
 nized and translated into equivalent pascal com-
 piler directives. The special #ifdef __cplusplus is
 also recognized and removed.
 typedef
 A typedef statement is changed into a pascal type
 statement. The following basic types are recog-
 nized:
FreePascal 12 Dec 1999 2
h2pas(1) Free Pascal C header conversion utility h2pas(1)
 char changed to char.
 float changed to real (=double in free pascal).
 int changed to longint.
 long changed to longint.
 long int
 changed to longint.
 short changed to integer.
 unsigned
 changed to cardinal.
 unsigned char
 changed to byte.
 unsigned int
 changed to cardinal.
 unsigned long int
 changed to cardinal.
 unsigned short
 changed to word.
 void ignored.
 These types are also changed if they appear in the argu-
 ments of a function or procedure.
 functions and procedures
 functions and procedures are translated as well;
 pointer types may be changed to call by reference
 arguments (using the var argument) by using the -p
 command line argument. functions that have a vari-
 able number of arguments are changed to a function
 with an array of const argument.
 specifiers
 the extern specifier is recognized; however it is
 ignored. the packed specifier is also recognised
 and changed with the PACKRECORDS directive. The
 const specifier is also recognized, but is ignored.
 modifiers
 If the -w option is specified, then the following
 modifiers are recognized: STDCALL , CDECL , CALL-
 BACK , PASCAL , WINAPI , APIENTRY , WINGDIAPI as
 defined in the win32 headers. If additionally the
 -x option is specified then the SYS_TRAP specifier
 is also recognized.
FreePascal 12 Dec 1999 3
h2pas(1) Free Pascal C header conversion utility h2pas(1)
 enums enum constructs are changed into enumeration types;
 bear in mind that in C enumeration types can have
 values assigned to them; Free Pascal also allows
 this to a certain degree. If you know that values
 are assigned to enums, it is best to use the -e
 option to change the enus to a series of integer
 constants.
 unions unions are changed to variant records.
 structs
 are changed to pascal records, with C packing.
SEE ALSO
 ppc386(1) ppumove(1)
FreePascal 12 Dec 1999 4

AltStyle によって変換されたページ (->オリジナル) /