草庐IT

c++ - 减少 GSL 库的文件大小

有没有办法减少编译后的GSL库的文件大小?我可以只编译一些子库吗? 最佳答案 我可以想到这些方法来解决这个问题-执行此操作的一种非常简单但非常有效的方法是使用动态链接。将代码静态链接到您的库或可执行文件会使它们变得更大。This讨论可能会给你一个更清晰的画面。GSL是作为动态库构建的,因此在大多数情况下,您自己的可执行文件中实际上只有很少的GSL对象文件。使用编译器优化-在编译(使用GCC)时使用-s和-Os标志剥离二进制文件或使用strip--strip-all 关于c++-减少GSL

c++ - 从 gsl_matrix 中删除列

我想删除gsl_matrix的一列(第i列),然后将其内容复制到另一个gsl_matrix。这是我的代码:#include#include#include#includeintremove_col(intK,intN,inti,//betweenrange1toNgsl_matrix*Sn,//Kx(N-1)gsl_matrix*Z){gsl_matrix_viewZ_view;gsl_matrix_viewSn_view;if(i==0){Z_view=gsl_matrix_submatrix(Z,0,1,K,N-1);gsl_matrix_memcpy(Sn,&Z_view.mat

c++ - 为什么我不能构造一个带有大括号括起来的初始化列表的 gsl::span

根据C++CoreGuidelines,我应该useagsl::spantopassahalf-opensequence.我认为这意味着与其编写如下函数:voidfunc(conststd::vector&data){for(autov:data)std::cout我应该更喜欢:voidfunc(gsl::spandata){for(autov:data)std::cout它的优点是它不会假设调用者在vector中有他们的数据,或者强制他们构造一个临时的vector。例如,他们可以传递std::array。但是一个常见的用例是传递一个大括号括起来的初始化列表:func({0,1,2,3

c++ - 将 gsl::span 与 range-v3 一起使用

我尝试了一个小例子来习惯GSL和range-v3库,我想知道它们如何协同工作。我有这个玩具示例#include#includeusingnamespacestd;usingnamespaceranges;voidexample_vector(vectorconst&v){ranges::for_each(view::tail(v),[](intx){cout{2,2,2,0,0,2,1,2};example_vector(seq);}哪个有效。但是如果我尝试使用gsl::span作为范围,它会导致错误消息。编译器告诉我span不满足View概念。#include//...voidexa

c++ - 在 C++ 中,如何使用 vector View 和 gsl_stats_mean 计算整数 vector 的平均值?

我的程序操作整数的STLvector,但有时我需要计算一些关于它们的统计数据。因此,我使用GSL函数。为了避免将STLvector复制到GSLvector中,我创建了一个GSLvectorView,并将其提供给GSL函数,如这段代码所示:#include#include#include#includeusingnamespacestd;intmain(intargc,char*argv[]){vectorstl_v;for(inti=0;i编译后(gcc-lstdc++-lgsl-lgslcblastest.cpp),这段代码输出如下:gsl_v_0=0gsl_v_1=1gsl_v_2

c++ - 在c++中使用gsl时如何避免静态成员函数

我想在C++类中使用GSL而无需将成员函数声明为static。这样做的原因是因为我不太了解它们并且我不确定线程​​安全性。根据我的阅读,std::function可能是一个解决方案,但我不确定如何使用它。我的问题归结为如何删除g声明中的static?#include#include#include#include#include#include#include#includeusingnamespacestd;classA{public:staticdoubleg(double*k,size_tdim,void*params){doubleA=1.0/(M_PI*M_PI*M_PI);

windows - 在带有 MinGW 的 Windows x64 下使用 GNU 科学库 (GSL)

我在MicrosoftWindows(64位)上安装了MinGW和MSYS,在目录C:\MinGW中(MSYS目录是C:\MinGW\msys\1.0)。我已经从officialftp下载了最新的GNU科学库(GNUGSL)包.我已使用MSYS成功执行configure和make,如GSL包中的INSTALL文件中所述。这意味着,在MSYS命令行界面中,在MSYShome目录中,我插入了:$./configure$make$makeinstall这会在MSYS目录(C:\MinGW\msys\1.0)下生成一个local目录,包括目录bin、include、lib和share。我已经成

python - 安装 mlpy 时出现 gsl 错误

很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visitthehelpcenter.关闭10年前。我正在尝试安装mlpy,但出现以下错误。我不知道从哪里开始。有人知道吗?$sudoeasy_installmlpy-3.5.0.tar.gzPassword:install_dir/Library/Frameworks/Python.framework/Versions/6.2/lib/python2.6/site-packages/Processingmlpy-3.5.0.tar.gzRunn

c - 如何在 Linux 中正确安装 gsl 库?

我在安装GNU科学库(gsl)时遇到问题。我把这个包放在我的桌面上,并根据包含的文档执行了“./configure”、“make”和“sudomakeinstall”。我检查了/usr/local/include目录,那里有一个新创建的“gsl”文件夹。但是当我尝试使用库提供的函数时,出现了“undefinedreferenceto'gsl_sf_beta_inc'”的错误。这是我的代码。#include#includeintmain(void){doublea=20;doubleb=1000;doublex=0.5;doubleresult=gsl_sf_beta_inc(a,b,x

c++ - GSL统计,什么是stride?

我想使用GSL(GnuScientificLib)来计算数组的标准差。http://www.gnu.org/software/gsl/manual/html_node/Mean-and-standard-deviation-and-variance.html在手册中,函数原型(prototype)是gsl_stats_sd(constdoubledata[],size_tstride,size_tn)但是,我不太明白这里的“步幅”是什么。有人知道它是什么吗?非常感谢您的任何建议!-阿尔弗雷德 最佳答案 stride是数组中两个连续元