从Haskell访问原始argv指针

aar*_*vin 5 haskell ffi

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

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

如果我写一个C包装并hs_init从那里调用(之后在这里使用argvala ),我能够做到这一点,但是从Haskell做这个更好.

谢谢!

PS - 这个问题与副本不同,因为副本使用了一个prctl,据我所知,只允许你更改进程名称.此外,副本正在寻找"设置",argv[0]而我试图获得对argv用于调用程序的原始的可变引用.

Eri*_*ikR 0

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

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