Как передать argv [0] с Process.Start в C # - PullRequest
1 голос
/ 02 мая 2019

Я пишу программу-обертку на C # с Mono под Ubuntu.Ключ к успешной обертке должен быть максимально прозрачным.Одно из требований - точно передать argv.

Когда вы используете Process.Start для запуска упакованной программы, как мы можем передать argv [0] в упакованную программу?Похоже, что мы вообще не можем передать argv [0], для него просто задан полный путь к исполняемой программе.

Поведение некоторых программ может зависеть от argv [0].Это верно для предварительно созданного набора инструментов лягушки AOSP.Например, в

prebuilts/clang/host/linux-x86/clang-4691093/bin$

есть lld, эта программа явно проверяет argv [0], чтобы решить, какую символьную ссылку вы вызываете (ld.lld / ld-link / ld64.lld).Если вы не вызываете lld через предопределенные символьные ссылки, lld сообщит об ошибке.

В C / C ++ легко установить argv [0] для имени символьной ссылки, чтобы успешно вызывать lld.Но можем ли мы сделать это в C #?

...