[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Help-gsl] How To Reduce Size of GNU Included Routines

From: Kees Zeelenberg
Subject: Re: [Help-gsl] How To Reduce Size of GNU Included Routines
Date: Wed, 13 Jun 2007 20:56:24 +0200

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" <address@hidden>
To: <address@hidden>
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"


and in the other

#include "gsl/gsl_matrix_double.h"
#include "gsl/gsl_permutation.h"
#include "gsl/gsl_linalg.h"


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 - address@hidden -

Help-gsl mailing list

reply via email to

[Prev in Thread] Current Thread [Next in Thread]