簡體   English   中英

GSL和環境變量

[英]GSL and environment variables

建立后:

$ gcc generator.c -lm  -lgsl -lgslcblas -lm

編碼:

#include <stdio.h>
#include <gsl/gsl_rng.h>
gsl_rng * r;
/* global generator */
int main (void)
{
    const gsl_rng_type * T;
    gsl_rng_env_setup();
    T = gsl_rng_default;
    r = gsl_rng_alloc (T);
    printf ("generator type: %s\n", gsl_rng_name (r));
    printf ("seed = %lu\n", gsl_rng_default_seed);
    printf ("first value = %lu\n", gsl_rng_get (r));
    gsl_rng_free (r);
    return 0;
}

然后以以下方式運行它:

$ ./a.out

我得到:

generator type: mt19937
seed = 0
first value = 4293858116

如果我做:

$ GSL_RNG_SEED=1  GSL_RNG_TYPE="taus" ./a.out

我得到:

GSL_RNG_TYPE=taus
GSL_RNG_SEED=1
generator type: taus
seed = 1
first value = 802792108

但是做完之后:

$ GSL_RNG_SEED=1
$ GSL_RNG_TYPE="taus"
$ ./a.out

我得到的輸出與第一次相同:

generator type: mt19937
seed = 0
first value = 4293858116

為什么可執行文件最后沒有獲得環境變量值(GSL_RNG_SEED = 1和GSL_RNG_TYPE =“ taus”)?

您應該使用export來設置環境變量。 因此, export GSL_RNG_SEED=1 export GSL_RNG_TYPE="taus"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM