Den 12-01-2011 06:56, Paul Ishenin skrev:
12.01.2011 12:29, Jeppe Johansen wrote:
A short example:
procedure NoHandler;
begin
end;
procedure TestProc; weakexternal name 'TestProc' set 'NoHandler';
...
begin
TestProc; // This will call NoHandler
end.
If we modify the example:
procedure NoHandler;
begin
end;
procedure TestProcHandler; [public, alias: 'TestProc'];
begin
end;
procedure TestProc; weakexternal name 'TestProc' set 'NoHandler';
...
begin
TestProc; // This will call TestProcHandler
end.
As I understand NoHandler will be called if we call a TestProc routine
but 'TestProc' symbol is is not found?
If so then:
a) NoHandler must have the same arguments and calling convention as
TestProc?
With this solution, no. This uses only symbol names
b) What happen if NoHandler is not found?
Then TestProc cannot be resolved to any symbol, and will generate a weak
undefined reference. Eg. it won't complain about an undefined reference
_______________________________________________
fpc-devel maillist - [email protected]
http://lists.freepascal.org/mailman/listinfo/fpc-devel