Qt中调用C语言函数库
生活随笔
收集整理的這篇文章主要介紹了
Qt中调用C语言函数库
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
接著上一篇文章,試圖畫出速度模型時,中間會有用到調(diào)用C庫函數(shù)--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將這部分包含到相應(yīng)的文件中,一般是.h中;
關(guān)于GSL手冊,可以參考官網(wǎng):
GNU Scientific Library — GSL 2.7 documentationhttps://www.gnu.org/software/gsl/doc/html/index.html
然后對于插值部分,需要確定插值類型,插值工作區(qū),加速區(qū),插值設(shè)置,初始化:?
const gsl_interp2d_type *T = gsl_interp2d_bilinear;//插值類型(方法)spline = gsl_spline2d_alloc(T, s->nx, s->ny);//gsl_spline2d,插值工作區(qū)xacc = gsl_interp_accel_alloc();//gsl_interp_acc,加速工作區(qū)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);?以及調(diào)用
QwtRasterData類的value函數(shù)返回某坐標(biāo)下的值。?
double vv = gsl_spline2d_eval(spline, x, y, xacc, yacc); return vv;總結(jié)
以上是生活随笔為你收集整理的Qt中调用C语言函数库的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Pro*c使用指示变量来处理NULL列值
- 下一篇: 配置三台服务器组成的ELK集群(二)