当前位置: 首页 > news >正文

湖北网站建设检修金融股票类app网站开发

湖北网站建设检修,金融股票类app网站开发,物流企业网站织梦模板,恩施兴州建设工程责任有限公司网站一.MSYS2安装 1.介绍 MSYS2 是一个为 Windows 系统提供 Unix 环境的软件开发平台,基于 MinGW 和 MSYS 项目,旨在简化跨平台开发流程。 官网:https://www.msys2.org/ 2.具体安装方法请见上篇文章:MSYS2功能、用途及在win10下安…

一.MSYS2安装

1.介绍

MSYS2 是一个为 Windows 系统提供 Unix 环境的软件开发平台,基于 MinGW 和 MSYS 项目,旨在简化跨平台开发流程。

官网:https://www.msys2.org/

2.具体安装方法请见上篇文章:MSYS2功能、用途及在win10下安装

二.gsl-2.8介绍

1.gsl-2.8简介

全称:GNU Scientific Library(GSL)

版本:当前稳定版为 2.8(发布于 2024 年 5 月)。

定位:专为 C 和 C++ 程序员设计的开源数值计算库,提供广泛的数学算法和工具。

许可证:遵循 GNU GPL,允许自由使用、修改和分发,但需保持代码开源(禁止闭源商业再分发)。

官网:https://www.gnu.org/software/gsl/

2.核心功能与特性

GSL-2.8 包含 1000+ 函数,覆盖以下领域:

基础数学

复数运算、多项式求根、特殊函数(如贝塞尔函数、伽马函数)。

线性代数

向量 / 矩阵操作、矩阵分解(LU、QR)、特征值 / 特征向量计算。

数值分析

数值积分、微分方程求解、插值与拟合、快速傅里叶变换(FFT)。

随机与统计

伪随机数生成、多种概率分布(正态、泊松等)、准随机序列、统计量计算。

优化与拟合

最小二乘拟合、非线性优化、模拟退火算法。

其他工具

小波变换、稀疏矩阵支持、物理常数数据库。

三.gsl-2.8编译为windows库

1.打开安装好的:MSYS2 MINGW64 命令窗口,然后执行编译命令:

cd /D/gsl-latest/gsl-2.8  //D盘下

./configure --prefix=/D/gsl-latest/gsl-2.8/build

make

make install

编译结果:

2.生成lib文件

(1)需要下载pexports.exe

https://sourceforge.net/projects/mingw/files/MinGW/Extension/pexports/pexports-0.47/

然后把pexports.exe放到上面编译生成的dll目录下,执行命令:

pexports  libgsl-28.dll >libgsl-28.def

pexports  libgslcblas-0.dll >libgslcblas-0.def

(2)编译生成lib文件

方式一:在VS安装目录下的VC\bin文件夹下可以找到lib.exe文件

或者 在搜索框中输入X64 Native Tools Command Prompt for VS 2022,单击打开可以直接调用lib.exe。

lib /machine:X64 /def:libgsl-28.def

lib /machine:X64 /def:libgslcblas-0.def # 64位

方式二:dlltool.exe可在 MSYS2安装目录下的MinGW\bin文件夹下找到,并执行以下命令进行转换:

D:\msys64\mingw64\bin\dlltool --dllname libgsl-28.dll --def libgsl-28.def --output-lib libgsl-28.lib

D:\\msys64\mingw64\bin\dlltool --dllname libgslcblas-0.dll --def libgslcblas-0.def --output-lib libgslcblas-0.lib

说明:dlltool.exe最好用绝对路径,因为其需要同目录下的其他文件

3.生成结果:

(4)vs2022下测试代码

#include <stdio.h>

#include <gsl/gsl_complex.h>

#include <gsl/gsl_complex_math.h>

#pragma comment(lib, "libgsl-28.lib")

#pragma comment(lib, "libgslcblas-0.lib")

int main(void)

{

gsl_complex a;

gsl_complex b;

GSL_REAL(a) = 1.0;

GSL_IMAG(a) = 2.0;

GSL_SET_COMPLEX(&b, 3.0, 4.0);

printf("%f+%f\n", GSL_REAL(a), GSL_IMAG(a));

printf("%f+%f\n", GSL_REAL(b), GSL_IMAG(b));

return 0;

}

3.总结

   许多基于C语言和C++语言的开源项目库都是在Linux系统中采用gcc编译器开发的,因而在Windows环境下确实较难重新构建,这里利用MSYS2提供的Linux环境便于对开源项目GSL进行生成构建,得到动态链接库dll,利用pexports.exe+dlltool.exe(gcc)或者pexports.exe+lib.exe(vs)(这两种方式任选一种)可将dll转换为lib,从而在Microsoft Visual Studio中进行链接和调用,经过实测,这两种方式生成的lib文件尽管大小不同,但都能够调用执行,因为运行时本质上都有dll文件。

   MinGW(gcc)可支持静态库.a和动态链接库**.dll**;而Visual Studio(msvc)仅支持动态链接库.dll,因此需要使用导入库.lib。

四.gsl库vs编译的其他方法   ---不推荐

1.windows下编译好的gsl库,但是版本太低,只有gsl-1.8的库;

https://gnuwin32.sourceforge.net/packages/gsl.htm

2.GSL官网也明确指出一些开发者提供了一些方法可轻松地在Windows平台上构建GSL库,详情见Building GSL on Windows Using Native Tools中的四种方法。

https://www.gnu.org/software/gsl/extras/native_win_builds.html

(1)Cmake的方法可以尝试,但显示支持到vs2017,用的版本也是GSL2.7

https://github.com/ampl/gsl

http://www.dtcms.com/a/410720.html

相关文章:

  • C++ 序列容器深度解析:vector、deque 与 list
  • 提供企业网站建设上海公司注册一网通办
  • 高效的技术支持提升用户体验
  • 满山红网站建设做家装的网站有什么
  • 建设部网站社保联网小程序注册平台
  • Mysql中GROUP_CONCAT分组聚合函数的使用以及示例
  • 2025无人机林业行业场景解决方案
  • 化肥网站模板青岛建设集团 招聘信息网站
  • 【在Ubuntu 24.04.2 LTS上安装Qt 6.9.2】
  • 家居企业网站建设渠道百度如何推广广告
  • 《MLB美职棒》运动员体质特征·棒球1号位
  • AI 应用和工业软件
  • 网站备案空壳网站制作找
  • 洛谷 P3388:【模板】割点(割顶)← Tarjan 算法
  • DeepSeek“问道”-第二章:问算法 —— 阴与阳如何在我内部舞蹈?
  • 重学JS-009 --- JavaScript算法与数据结构(九)Javascript 方法
  • Python项目中ModuleNotFoundError与FileNotFoundError的深度解决指南(附实战案例)
  • LeetCode:61.分割回文串
  • 坑: console.log,对象引用机制
  • 网站模板找超速云建站学校网站建设是什么意思
  • 做购物网站的业务微信公众号开发网站开发
  • Matlab通过GUI实现点云的均值滤波(附最简版)
  • 应用部署(后端)
  • 手机网站吧怎样做一个app平台
  • 用AI重塑电商,京东零售发布电商创新AI架构体系Oxygen
  • csv、pdf文件预览uniapp-H5
  • Wiley出版社WileyNJDv5_Template模板编译不能生成PDF解决办法
  • 蓝色网站配色方案贵州省城乡和住房建设厅网站首页
  • 广州微网站建设咨询网站建设500错误代码
  • 凡科建站建网站网络建设公司排行