2

私はMacにGNUScientificLibrary(gsl)をダウンロード、コンパイル、インストールしました。これはデフォルトで/ usr / local / include/gslを見つけます。

それをテストするために、サンプルCプログラム(gslドキュメントにあります)をコンパイルして実行しようとしました。

 #include <stdio.h>
 #include <gsl/gsl_statistics.h>

 int
 main(void)
 {
   double data[5] = {17.2, 18.1, 16.5, 18.3, 12.6};
   double mean, variance, largest, smallest;

   mean     = gsl_stats_mean(data, 1, 5);
   variance = gsl_stats_variance(data, 1, 5);
   largest  = gsl_stats_max(data, 1, 5);
   smallest = gsl_stats_min(data, 1, 5);

   printf ("The dataset is %g, %g, %g, %g, %g\n",
          data[0], data[1], data[2], data[3], data[4]);

   printf ("The sample mean is %g\n", mean);
   printf ("The estimated variance is %g\n", variance);
   printf ("The largest value is %g\n", largest);
   printf ("The smallest value is %g\n", smallest);
   return 0;
 }

それをコンパイルするには、

$ gcc -I / usr / local / include -c example.c

$ ls

example.c example.o

そして、それを実行するには、

$ ./example.o

-bash:./example.o:アクセスが拒否されました

何が起こっていますか?私以外の誰がそれを実行できますか?

4

1 に答える 1

2

example.o実行可能ファイルではなく、オブジェクト ファイルです。

ドキュメンテーション(info gsl-refそれを読むために)によると、これはうまくいくはずです(または少なくとも近いです)。

$ gcc -Wall -I/usr/local/include -c example.c
$ gcc -L/usr/local/lib example.o -lgsl -lgslcblas -lm -o example
$ ./example
于 2011-08-18T00:55:21.570 に答える