@head
@scope capi
Introduction
The Alore C API enables you to
use the C programming language (and C++) to implement modules that can be
accessed in Alore programs. C modules are often used to provide
access to existing C libraries and APIs. They are also often more efficient
than pure Alore implementations. The need for using C modules
should always be carefully
evaluated, since developing C code usually takes more effort than comparable
Alore code, and the portability of compiled C modules to different operating
systems is limited.
This document first presents some background information,
explains in detail a few introductory examples and describes important
basic concepts.
The following sections contain a reference of macros and API functions.
The final sections give an overview of some specific technical issues.
@note There may be a major update to the Alore C API in the not too distant
future that requires updating essentially all C modules.
In particular, we may
remove direct exceptions and only support "normal" exceptions, since the
longjmp-based implementation that is used for direct exceptions has
several problems.
@end
Contents
-
@link capi_overview.html
-
@link capi_getting_started.html
-
@link capi_defining_modules.html
-
@link capi_module_basics.html
-
@link capi_defining_functions.html
-
@link capi_defining_globals.html
-
@link capi_defining_classes.html
-
@link capi_defining_interfaces.html
-
@link capi_instance_binary_data.html
-
@link capi_variant_macros.html
-
@link capi_private_definitions.html
-
@link capi_mixing_alore_and_c.html
-
@link capi_garbage_collector_issues.html
-
@link capi_exception_handling.html
- @href{Normal exceptions}
- @href{Direct exceptions}
- @href{Raising exceptions}
- @href{Propagating exceptions}
- @href{Catching exceptions}
- @href{Direct exceptions and freeing resources}
- @href{Exception handling examples}
-
@link capi_common_operations.html
-
@link capi_arithmetic_operations.html
-
@link capi_comparison_operations.html
-
@link capi_call_operations.html
-
@link capi_member_operations.html
-
@link capi_collection_operations.html
-
@link capi_global_operations.html
-
@link capi_misc_common_operations.html
-
@link capi_type_specific_operations.html
-
@link capi_int_operations.html
-
@link capi_float_operations.html
-
@link capi_str_operations.html
-
@link capi_array_operations.html
-
@link capi_tuple_operations.html
-
@link capi_misc_operations.html
-
@link capi_lowlevel_operations.html
- @href{Temporary locations}
- @href{Instance binary data manipulation}
- @href{Object construction}
- @href{Memory management}
- @href{Value containers}
- @href{Thread support}
- @href{Miscellaneous functions}
-
@link capi_using_std_c_libs.html
-
@link capi_using_cplusplus.html
-
@link capi_index.html