在C++中调用PARI/GP库的方法
前言
最近学习代数, 接触到了一个开源的代数计算软件包PARI,其有一个命令行前端GP,在Mac上使用brew(brew install pari
)很方便地就安装好了,但是用起来需要进行配置, 因为这个包没有对应的pkgconfig文件,所以我下面手写了一个CMake文件.
环境
MacOS 11.4
CLion 2021.1
clang C++14
CMakeLists文件
cmake_minimum_required(VERSION 3.20)
project(pari_test)set(CMAKE_CXX_STANDARD 14)find_library(PARI_LIBRARY pari)include_directories("/opt/homebrew/Cellar/pari/2.13.2_2/include/")
link_directories("/opt/homebrew/Cellar/pari/2.13.2_2/lib/")set(SOURCE_FILES main.cpp)add_executable(${CMAKE_PROJECT_NAME} ${SOURCE_FILES})target_link_libraries(${CMAKE_PROJECT_NAME} ${PARI_LIBRARY})
示例程序
示例程序参考自Using PARI/GP in C++;
#include <iostream>#include <pari/pari.h>using namespace std;int main( )
{pari_init(1000000,2);GEN x(cgeti(DEFAULTPREC)), y(cgeti(DEFAULTPREC)), z(cgeti(DEFAULTPREC));x = stoi((long) 2);y = stoi((long) 6);z = gmul(x,y);cout << gtolong(z) << endl;return 0;
}
运行结果:
12
在C++中调用PARI/GP库的方法相关推荐
- 在VB 中调用动态连接库
在VB 中调用动态连接库 2001-11-08· · ··yesky 1 2 3 4 5 6 7 8 下一页 作为一种简单易用的Windows开发环境,Visual Basic从一推出就受到了广 ...
- vue怎么调用子元素的方法_vue 父组件中调用子组件函数的方法
vue 父组件中调用子组件函数的方法 在父组件中调用子组件的方法: 1.给子组件定义一个ref属性.eg:ref="childItem" 2.在子组件的methods中声明一个函数 ...
- Js文件中调用其它Js函数的方法(转)
2019独角兽企业重金招聘Python工程师标准>>> Js文件中调用其它Js函数的方法 在项目开发过程中,也许你会遇这样的情况.在某一Js文件中需要完成某一功能,但这一功能的大部分 ...
- Js文件中调用其它Js函数的方法
2019独角兽企业重金招聘Python工程师标准>>> Js文件中调用其它Js函数的方法 在项目开发过程中,也许你会遇这样的情况.在某一Js文件中需要完成某一功能,但这一功能的大部分 ...
- php调用会员刷卡,dedecms模板中调用会员信息标签的方法
dedecms模板中调用会员信息标签的方法 比如你想在DEDE首页或者内页里调用会员:用户名.昵称.性别.会员等级.注册邮箱.会员级别等信息.就需要我们本篇教程提供的调用标签了. 首先,我们打开文件 ...
- 织梦cms php中调用当前频道,DEDE织梦CMS模板在runphp=yes的标签中调用其他field值的方法...
这篇文章主要为大家详细介绍了DEDE织梦CMS模板在runphp=yes的标签中调用其他field值的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,有需要的朋友可以收藏方便以后借鉴. Ded ...
- python调用c++动态库 linux_linux中使用boost.python调用c++动态库的方法
前言 最近开始使用 robot framework 测试c++的动态库,robot framework 是跑在 windows 上面,c++动态库是跑在远程linux主机上面.测试办法是让 robot ...
- JNI_Android项目中调用.so动态库实现详解【转】
转自 http://www.cnblogs.com/sevenyuan/p/4202759.html 1. 在Eclipse中创建项目:TestJNI 2. 新创建一个class:TestJNI.ja ...
- java中调用 dll 动态库的简洁方法 JNative
Java中调用DLL方法,是通过JNI接口实现的,http://www.ibm.com/developerworks/cn/java/l-linux-jni/ 这里有详细的说明.大概是先用Java写一 ...
最新文章
- 朴素、Select、Poll和Epoll网络编程模型实现和分析——Select模型
- 【c语言】蓝桥杯算法提高 企业奖金发放
- Spring Boot(五):spring data jpa的使用
- git上传文件到github
- POJ1364基本的查分约束问题
- 【web安全】Spring Boot eureka xstream 反序列化
- VTK:Texture之TextureCutQuadric
- 安装python的第一个曲折
- 对于半结构化数据的讲解,这可能是最通俗易懂的一篇文章了
- android实现日志列表,【Android开发】listview+popupwindow实践:日志列表
- IntelliJ IDEA 内存优化最佳实践
- 一个非常好的C#字符串操作处理类StringHelper.cs
- nginx websocket wss 连接失败 failed_Nginx 配置WSS 解析与实战
- DataBase -- JOIN
- 本人译著《Professional Xcode 3》现已翻译完毕
- 拓端tecdat|R语言进行数据结构化转换:Box-Cox变换、“凸规则”变换方法
- 如何共享扫描仪-Netscan
- 如何设置局域网共享打印机及问题解决
- charls https抓包
- java.util.concurrent 同步器框架详解