草庐IT

haskell-platform

全部标签

cross-platform - 如何在 Go 中处理特定于平台的模块?

我正在用Go编写一个命令行实用程序(作为其操作的一部分)需要从用户那里获取密码。有一个用于Unix的很棒的gopass模块可以执行此操作,我知道如何为Windows控制台编写一个。问题是Windows模块显然不会在*nix上构建,*nix版本也不会在Windows上构建。由于Go缺乏任何预处理器支持(据我所知),我完全不知道解决这个问题的正确方法是什么。我知道这是可能的,因为Go本身必须为其自己的库执行此操作,但我习惯使用的工具(条件导入/预处理器等)似乎丢失了。 最佳答案 Go有构建约束,可以在.go文件中指定为注释,也可以作为文

cross-platform - 如何在 Go 中处理特定于平台的模块?

我正在用Go编写一个命令行实用程序(作为其操作的一部分)需要从用户那里获取密码。有一个用于Unix的很棒的gopass模块可以执行此操作,我知道如何为Windows控制台编写一个。问题是Windows模块显然不会在*nix上构建,*nix版本也不会在Windows上构建。由于Go缺乏任何预处理器支持(据我所知),我完全不知道解决这个问题的正确方法是什么。我知道这是可能的,因为Go本身必须为其自己的库执行此操作,但我习惯使用的工具(条件导入/预处理器等)似乎丢失了。 最佳答案 Go有构建约束,可以在.go文件中指定为注释,也可以作为文

【驱动开发】Windows过滤平台(WFP,Windows Filtering Platform)

文章目录Windows的发展历程TDI简介WFP简介用户态基础过滤引擎(BFE)内核态过滤引擎(KMFE)垫片(Shim)分层(Layer)子层(SubLayer)过滤器(Filter)呼出接口(Callout)呼出端口的回调函数(classifyFn、notifyFn、flowDeleteFn)通过WFPAPI实现网络数据包过滤Windows的发展历程正题开始之前,先总结一下Windows的发展历程。Windows1.0、2.0、3.0、3.1、3.2:16位。Windows9x:包括Windows95、Windows98、WindowsMe。WindowsNT系列:包括WindowsNT3

git - 用于脚本编写的 haskell 中的表达式评估模式

正如其他地方多次提到的(例如1、2、...),haskell中的脚本非常强大。一个快速的方法也可以是ghcexpressionevaluationmode.这就是我发现自己越来越多地使用的东西(我真的很喜欢ruby​​中的这个特性)。一个小示例任务:“找出所有包含HEAD和特定修订版之间的gitdiff的文件夹”gitdiff--stat9e2b68|ghc-e\"getContents>>=return.(Data.List.nub).map(fst.break('/'==).head.words).lines"这看起来有点笨拙,可能是因为我不太了解使用ghc-e的细节。鉴于所有有趣

git - 用于脚本编写的 haskell 中的表达式评估模式

正如其他地方多次提到的(例如1、2、...),haskell中的脚本非常强大。一个快速的方法也可以是ghcexpressionevaluationmode.这就是我发现自己越来越多地使用的东西(我真的很喜欢ruby​​中的这个特性)。一个小示例任务:“找出所有包含HEAD和特定修订版之间的gitdiff的文件夹”gitdiff--stat9e2b68|ghc-e\"getContents>>=return.(Data.List.nub).map(fst.break('/'==).head.words).lines"这看起来有点笨拙,可能是因为我不太了解使用ghc-e的细节。鉴于所有有趣

linux - 在 jail 环境中运行 Haskell 程序需要什么

我想在我自己构建的受限环境中运行一个简单的Haskell程序。我要运行以下Haskell程序:importSystem.IOmain=dohPutStrLnstderr"teststandarderror!"hPutStrLnstdout"teststandardout!"它只是将一个字符串输出到stderr和stdout,在jail外工作得很好。代码编译如下:ghc-O2--make-static-optc-static-optl-static$MAINHS-optl-pthread-obin/run_ai我得到一个运行该程序的run_ai可执行文件,正如我所说,它在jail外工作正

linux - 在 jail 环境中运行 Haskell 程序需要什么

我想在我自己构建的受限环境中运行一个简单的Haskell程序。我要运行以下Haskell程序:importSystem.IOmain=dohPutStrLnstderr"teststandarderror!"hPutStrLnstdout"teststandardout!"它只是将一个字符串输出到stderr和stdout,在jail外工作得很好。代码编译如下:ghc-O2--make-static-optc-static-optl-static$MAINHS-optl-pthread-obin/run_ai我得到一个运行该程序的run_ai可执行文件,正如我所说,它在jail外工作正

linux - 在 Ubuntu 11.10 上构建的 Haskell 程序不能在 Ubuntu 10.04 上运行

除了当前的Windows二进制文件之外,我还试图为我的程序的用户提供一些Linux二进制文件,因此我安装了Ubuntu11.10(因为11.04上的haskell-platform软件包仍然是2010版本)。但是,当我尝试在Ubuntu10.04上运行生成的二进制文件时,我收到一条消息,提示它找不到libgmp.so.10。检查/usr/lib显示10.04带有libgmp.so.3,而11.10带有libgmp.so.10。因此,GHC似乎是动态链接到libgmp,而不是静态链接,我认为这是默认设置。有没有办法告诉GHC在二进制文件中静态包含libgmp?如果不是,是否有其他一些不需

linux - 在 Ubuntu 11.10 上构建的 Haskell 程序不能在 Ubuntu 10.04 上运行

除了当前的Windows二进制文件之外,我还试图为我的程序的用户提供一些Linux二进制文件,因此我安装了Ubuntu11.10(因为11.04上的haskell-platform软件包仍然是2010版本)。但是,当我尝试在Ubuntu10.04上运行生成的二进制文件时,我收到一条消息,提示它找不到libgmp.so.10。检查/usr/lib显示10.04带有libgmp.so.3,而11.10带有libgmp.so.10。因此,GHC似乎是动态链接到libgmp,而不是静态链接,我认为这是默认设置。有没有办法告诉GHC在二进制文件中静态包含libgmp?如果不是,是否有其他一些不需

linux - Haskell Yesod 问题

有人可以帮助我吗?!我在C9工作区的HaskellYesod大学网站上工作,我已经通过命令Yesod安装并更新cabal,但是当我尝试“堆栈构建”命令时,出现了这个悲惨的错误消息:$stackbuildaulahaskell-0.0.0:build(lib+exe)Preprocessinglibraryaulahaskell-0.0.0...[7of13]CompilingHandler.Cliente(src/Handler/Cliente.hs,.stack-work/dist/x86_64-linux/Cabal-1.24.2.0/build/Handler/Cliente.o