Andrew Gregory a écrit:
I've produced some Pascal which is called from C. The Pascal program looks like this:
program myprog;
{$gpc-main=Dummy}
myfunc (parameters.. .) : integer; asmname 'name';
{$include "myfile.pas"}
begin end.
The function myfunc is given in the file "myfile.pas".
To suit the new compiler 20030323 I changed the declaration above to
myfunc (parameters.. .) : integer; attribute (name = 'name'); external;
The compiler now objects to the re-declaration of myfunc. How can I get round this without editing myfile.pas (which is used by a number of other programs, so I don't want to alter it)?
Just add the standard keyword "forward".
function myfunc (parameters.. .) : integer; attribute (name = 'name'); external; forward;
In fact the old working was standard deviant, it should have not worked.
Maurice