草庐IT

HASKELL_PLATFORM_DIR

全部标签

c++ - 从 C++ 到 Haskell 类和状态

我必须转换这个C++代码classA{public:intx_A;voidsetX_A(intnewx){x_A=newx;}voidprintX_A(){printf("x_Ais%d",x_A);}};classB:publicA{public:intx_B;voidsetX_B(intnewx){x_B=newx;}voidprintX_B(){printf("x_Bis%d",x_B);}};main(){AobjA;BobjB;objA.setX_A(2);objA.printX_A();objB.printX_A();objB.setX_B(5);objB.printX_B

c++ - 从 C++ 调用 Haskell 库

我正在Qt(C++)中构建一个应用程序,它使用用Haskell编写的库作为后端。如何将Haskell库的接口(interface)导出到C++?当haskell库中的函数使用像int或float这样的简单类型时,这不是问题,但是当它们使用结构作为参数时呢?在这种情况下,最具扩展性的解决方案是什么? 最佳答案 您需要编写haskell代码来将这些数据结构编码为您可以在Haskell中使用的数据结构。c2hs工具在这方面很有帮助:http://hackage.haskell.org/package/c2hs虽然该工具似乎是为从Haske

c++ - 从 C++ 调用 Haskell 库

我正在Qt(C++)中构建一个应用程序,它使用用Haskell编写的库作为后端。如何将Haskell库的接口(interface)导出到C++?当haskell库中的函数使用像int或float这样的简单类型时,这不是问题,但是当它们使用结构作为参数时呢?在这种情况下,最具扩展性的解决方案是什么? 最佳答案 您需要编写haskell代码来将这些数据结构编码为您可以在Haskell中使用的数据结构。c2hs工具在这方面很有帮助:http://hackage.haskell.org/package/c2hs虽然该工具似乎是为从Haske

visual-studio - CMake 如何为 Visual Studio 2015 项目指定 "Platform Toolset"?

有一个由CMake生成的VS2015项目,我想更改其“平台工具集”。我已经尝试了这些解决方案,但它不起作用:设置(CMAKE_VS_PLATFORM_TOOLSET"v120")cmake-T"v120"有人可以帮忙吗?谢谢。 最佳答案 首先:如果您已经生成了项目,请删除CMakeCache.txt。下次运行cmake:cmake-G"VisualStudio14"-Tv120当您需要更改生成器(工具集是其中的一部分)时,您应该删除CMakeCache.txt文件。 关于visual-s

visual-studio - CMake 如何为 Visual Studio 2015 项目指定 "Platform Toolset"?

有一个由CMake生成的VS2015项目,我想更改其“平台工具集”。我已经尝试了这些解决方案,但它不起作用:设置(CMAKE_VS_PLATFORM_TOOLSET"v120")cmake-T"v120"有人可以帮忙吗?谢谢。 最佳答案 首先:如果您已经生成了项目,请删除CMakeCache.txt。下次运行cmake:cmake-G"VisualStudio14"-Tv120当您需要更改生成器(工具集是其中的一部分)时,您应该删除CMakeCache.txt文件。 关于visual-s

c++ - 什么容器真正模仿了 Haskell 中的 std::vector?

问题我正在寻找一个容器,用于保存n-1问题的部分结果,以便计算第n个问题。这意味着容器的大小最终将始终为n.容器的每个元素i取决于至少2到4个先前的结果。容器必须提供:在开始或结束时插入恒定时间(两者之一,不一定同时)中间的恒定时间索引或者(给定一个O(n)初始化):恒定时间单个元素编辑中间的恒定时间索引什么是std::vector为什么它是相关的对于那些不懂C++的人来说,std::vector是一个动态大小的数组。它非常适合这个问题,因为它能够:在施工时预留空间在中间提供恒定时间索引在末尾提供恒定时间插入(保留空间)因此,这个问题在O(n)复杂度中是可以解决的,在C++中。为什么D

c++ - 什么容器真正模仿了 Haskell 中的 std::vector?

问题我正在寻找一个容器,用于保存n-1问题的部分结果,以便计算第n个问题。这意味着容器的大小最终将始终为n.容器的每个元素i取决于至少2到4个先前的结果。容器必须提供:在开始或结束时插入恒定时间(两者之一,不一定同时)中间的恒定时间索引或者(给定一个O(n)初始化):恒定时间单个元素编辑中间的恒定时间索引什么是std::vector为什么它是相关的对于那些不懂C++的人来说,std::vector是一个动态大小的数组。它非常适合这个问题,因为它能够:在施工时预留空间在中间提供恒定时间索引在末尾提供恒定时间插入(保留空间)因此,这个问题在O(n)复杂度中是可以解决的,在C++中。为什么D

c++ - Visual Studio项目中的 "Platform Toolset"设置是什么

我有三个疑问。有人帮忙吗?VS项目中的“PlatformToolset”项目设置是什么为什么需要这样的设置如果我更改设置(v110到v100)会发生什么 最佳答案 它是一个MSBuild属性,用于控制您要使用的平台工具集的特定版本。更多信息在这里:http://msdn.microsoft.com/en-us/library/windows/hardware/hh454232%28v=vs.85%29.aspx您很可能希望使用最新的稳定WindowsSDK。您可以检查您正在使用的工具集,查看您的VisualStudio项目文件(.v

c++ - Visual Studio项目中的 "Platform Toolset"设置是什么

我有三个疑问。有人帮忙吗?VS项目中的“PlatformToolset”项目设置是什么为什么需要这样的设置如果我更改设置(v110到v100)会发生什么 最佳答案 它是一个MSBuild属性,用于控制您要使用的平台工具集的特定版本。更多信息在这里:http://msdn.microsoft.com/en-us/library/windows/hardware/hh454232%28v=vs.85%29.aspx您很可能希望使用最新的稳定WindowsSDK。您可以检查您正在使用的工具集,查看您的VisualStudio项目文件(.v

c++ - 如何正确链接用 Haskell 编写的目标文件?

大致关注thistutorial,我设法让这个玩具项目工作。它从C++程序调用Haskell函数。Foo.hs{-#LANGUAGEForeignFunctionInterface#-}moduleFoowhereforeignexportccallfoo::Int->Int->IOIntfoo::Int->Int->IOIntfoonm=return.sum$fn++fmf::Int->[Int]f0=[]fn=n:f(n-1)bar.c++#include"HsFFI.h"#includeFOO//Haskellmodule(pathdefinedinbuildscript)#in