Bo Berglund via lazarus <lazarus@lists.lazarus-ide.org> schrieb am So., 10. Nov. 2019, 23:29:
> I have ported a console application from Windows to Linux (Raspbian > Buster) and I got to wonder about the check for a defined symbol > appearing in the beginning of the code as produced by the Lazarus > template: > > uses > {$IFDEF UNIX}{$IFDEF UseCThreads} > cthreads, > {$ENDIF}{$ENDIF} > > Would it not be enough to use this instead: > uses > {$IFDEF UNIX} > cthreads, > {$ENDIF} > > Is there a heavy hit on perfortmance or such if the conditional is not > used but instead just checking if we are on UNIX? > > What happens if one does not use threads in ones code but removes the > conditional UseCThreads as shown above? > > For example if I am using Indy10 objects they are threaded so in that > case I assume I need to use cthreads. But in any other case, how can I > know that some used package might rely on threads and so needs this > uses clause? > > Basically: > What damage does it do if cthreads are in the uses clause but no > thread appears in the program code (yet)? > The "damage" is that your application will link against the C library. Sometimes that's not desirable and quite some FPC code can be used without that (e.g. the compiler itself does not need to link against the C library and thus the binary is usable on various Linux distributions and versions). Regards, Sven >
-- _______________________________________________ lazarus mailing list lazarus@lists.lazarus-ide.org https://lists.lazarus-ide.org/listinfo/lazarus