从Haskell访问原始argv指针

时间:2015-01-02 19:27:51

标签: haskell ffi

是否可以从Haskell argv中访问原始main指针?

我的用例是我想在应用程序启动后删除命令行参数,因此无法通过ps读取它们。有几种方法可以做到这一点,但都需要操纵原始的argv

如果我编写一个C包装并从那里调用hs_init(之后用argv ala here进行处理),我就能做到这一点,但是做得更好这来自Haskell。

谢谢!

PS - 此问题与duplicate不同,因为副本使用prctl,据我所知,只允许您更改进程名称。此外,副本正在寻找“设置”argv[0],而我正在尝试获取用于调用该程序的原始argv的可变引用。

1 个答案:

答案 0 :(得分:0)

我会查看System.Posix.Env.ByteString包中的unix (link)模块。

它包含修改环境的功能,即使它只提供getArgs,也不应该添加setArgs功能。