The linker automatically links only the modules that are actually needed in
the executable. So in this respect the executable is always of the smallest
size possible. You might be able to reduce its size further by stripping the
executable from its debug symbols etc. by using the Wl,-s option at the
linking stage.
Kees Zeelenberg
----- Original Message -----
From: "Bob Smith" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Monday, June 11, 2007 7:25 AM
Subject: [Help-gsl] How To Reduce Size of GNU Included Routines
On a Windows platform, I'm using GSL 1.8 on storage type "double"
arguments exclusively, calling routines in two modules:
#include "gsl/gsl_sf_gamma.h"
#include "gsl/gsl_sf_result.h"
#include "gsl/gsl_errno.h"
gsl_sf_gamma_e
and in the other
#include "gsl/gsl_matrix_double.h"
#include "gsl/gsl_permutation.h"
#include "gsl/gsl_linalg.h"
gsl_matrix_alloc
gsl_vector_alloc
gsl_linalg_SV_decomp
gsl_vector_free
gsl_matrix_free
gsl_linalg_SV_solve
using libgsl.a and libgslcblas.a to obtain the relevant code.
When I look in the .map file, I find references to routines whose name
references many other storage types bound into the executable, such as
routines whose names start with "_gsl_vector_complex_..." as well as
another series of the form "_gsl_vector_long_double_...", "..._float_...",
"...ulong_...", "..._long_...", "..._uint_...", "..._int_...",
"..._short_...", "..._ushort_...", etc.
As my use of this library is with "double" arguments only, I'm assuming
that most of the above named routines are not called (maybe I'm wrong
about that?). If they aren't called, how can I declare my use of GSL
(config.h?) to limit the routines bound into the executable to just the
ones it uses?
--
_______________________________________________________________
Bob Smith - [EMAIL PROTECTED] - http://www.sudleyplace.com
_______________________________________________
Help-gsl mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/help-gsl
_______________________________________________
Help-gsl mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/help-gsl