前言

最近学习代数, 接触到了一个开源的代数计算软件包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库的方法相关推荐

  1. 在VB 中调用动态连接库

    在VB 中调用动态连接库   2001-11-08· · ··yesky 1 2 3 4 5 6 7 8  下一页 作为一种简单易用的Windows开发环境,Visual Basic从一推出就受到了广 ...

  2. vue怎么调用子元素的方法_vue 父组件中调用子组件函数的方法

    vue 父组件中调用子组件函数的方法 在父组件中调用子组件的方法: 1.给子组件定义一个ref属性.eg:ref="childItem" 2.在子组件的methods中声明一个函数 ...

  3. Js文件中调用其它Js函数的方法(转)

    2019独角兽企业重金招聘Python工程师标准>>> Js文件中调用其它Js函数的方法 在项目开发过程中,也许你会遇这样的情况.在某一Js文件中需要完成某一功能,但这一功能的大部分 ...

  4. Js文件中调用其它Js函数的方法

    2019独角兽企业重金招聘Python工程师标准>>> Js文件中调用其它Js函数的方法 在项目开发过程中,也许你会遇这样的情况.在某一Js文件中需要完成某一功能,但这一功能的大部分 ...

  5. php调用会员刷卡,dedecms模板中调用会员信息标签的方法

    dedecms模板中调用会员信息标签的方法 比如你想在DEDE首页或者内页里调用会员:用户名.昵称.性别.会员等级.注册邮箱.会员级别等信息.就需要我们本篇教程提供的调用标签了. 首先,我们打开文件 ...

  6. 织梦cms php中调用当前频道,DEDE织梦CMS模板在runphp=yes的标签中调用其他field值的方法...

    这篇文章主要为大家详细介绍了DEDE织梦CMS模板在runphp=yes的标签中调用其他field值的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,有需要的朋友可以收藏方便以后借鉴. Ded ...

  7. python调用c++动态库 linux_linux中使用boost.python调用c++动态库的方法

    前言 最近开始使用 robot framework 测试c++的动态库,robot framework 是跑在 windows 上面,c++动态库是跑在远程linux主机上面.测试办法是让 robot ...

  8. JNI_Android项目中调用.so动态库实现详解【转】

    转自 http://www.cnblogs.com/sevenyuan/p/4202759.html 1. 在Eclipse中创建项目:TestJNI 2. 新创建一个class:TestJNI.ja ...

  9. java中调用 dll 动态库的简洁方法 JNative

    Java中调用DLL方法,是通过JNI接口实现的,http://www.ibm.com/developerworks/cn/java/l-linux-jni/ 这里有详细的说明.大概是先用Java写一 ...

最新文章

  1. 朴素、Select、Poll和Epoll网络编程模型实现和分析——Select模型
  2. 【c语言】蓝桥杯算法提高 企业奖金发放
  3. Spring Boot(五):spring data jpa的使用
  4. git上传文件到github
  5. POJ1364基本的查分约束问题
  6. 【web安全】Spring Boot eureka xstream 反序列化
  7. VTK:Texture之TextureCutQuadric
  8. 安装python的第一个曲折
  9. 对于半结构化数据的讲解,这可能是最通俗易懂的一篇文章了
  10. android实现日志列表,【Android开发】listview+popupwindow实践:日志列表
  11. IntelliJ IDEA 内存优化最佳实践
  12. 一个非常好的C#字符串操作处理类StringHelper.cs
  13. nginx websocket wss 连接失败 failed_Nginx 配置WSS 解析与实战
  14. DataBase -- JOIN
  15. 本人译著《Professional Xcode 3》现已翻译完毕
  16. 拓端tecdat|R语言进行数据结构化转换:Box-Cox变换、“凸规则”变换方法
  17. 如何共享扫描仪-Netscan
  18. 如何设置局域网共享打印机及问题解决
  19. charls https抓包
  20. java.util.concurrent 同步器框架详解

热门文章

  1. elasticsearch head插件(5.0及以上版本)
  2. Django学习目录
  3. properties文件 , properties类, 的作用
  4. 在Js或者cess后加版本号 防止浏览器缓存
  5. Hibernate自动事务揪出的编码不规范
  6. C语言课后习题(25)
  7. Java-toString
  8. mysql key value 排序_MySQL按字符串中部分数值排序
  9. openmv 神经网络 超出内存_【openmv】openmv各种bug问题记录
  10. 8日直播预告丨Oracle 19c X86下移经验分享