next up previous
Next: Compatibility of the Up: Notes on Using Previous: Debugging Foreign Code

Name Conflicts in C modules

In the current version of the system all public C functions of SWI-Prolog are in the symbol table. This can lead to name clashes with foreign code. Someday I should write a program to strip all these symbols from the symbol table (why does Unix not have that?). For now I can only suggest to give your function another name. You can do this using the C preprocessor. If --for example-- your foreign package uses a function warning(), which happens to exist in SWI-Prolog as well, the following macro should fix the problem.

#define warning warning_



Passani Luca
Tue Nov 14 08:58:33 MET 1995