Qt中调用C语言函数库
生活随笔
收集整理的這篇文章主要介紹了
Qt中调用C语言函数库
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
接著上一篇文章,試圖畫出速度模型時,中間會有用到調用C庫函數--gsl庫;記一下怎么使用的:
和C語言中類似,但要使用到條件編譯:
#ifdef __cplusplus extern "C" { #endif #include <gsl/gsl_math.h> #include <gsl/gsl_interp2d.h> #include <gsl/gsl_spline2d.h> #ifdef __cplusplus } #endif將這部分包含到相應的文件中,一般是.h中;
關于GSL手冊,可以參考官網:
GNU Scientific Library — GSL 2.7 documentationhttps://www.gnu.org/software/gsl/doc/html/index.html
然后對于插值部分,需要確定插值類型,插值工作區,加速區,插值設置,初始化:?
const gsl_interp2d_type *T = gsl_interp2d_bilinear;//插值類型(方法)spline = gsl_spline2d_alloc(T, s->nx, s->ny);//gsl_spline2d,插值工作區xacc = gsl_interp_accel_alloc();//gsl_interp_acc,加速工作區yacc = gsl_interp_accel_alloc();for(int i=0;i<s->nx;i++){for(int j=0;j<s->ny;j++){gsl_spline2d_set(spline, s->za, i, j, s->array.at(i*(s->ny)+j) );}} gsl_spline2d_init(spline, s->xa, s->ya, s->za, s->nx, s->ny);?以及調用
QwtRasterData類的value函數返回某坐標下的值。?
double vv = gsl_spline2d_eval(spline, x, y, xacc, yacc); return vv;總結
以上是生活随笔為你收集整理的Qt中调用C语言函数库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Pro*c使用指示变量来处理NULL列值
- 下一篇: 配置三台服务器组成的ELK集群(二)