Library

Use my algorithm to correctly obtain other processes' arguments

macOS popup depicting the libgetargv dynamic library

Fast, and correct algorithm

libgetargv uses the same code as getargv, so it is just as fast and resilient as the standalone tool.

LICENSE

Licensed under the BSD 3-Clause License, once you've joined the appropriate Github Sponsors tier, so the library is safe to use in commercial products.

Linking

I provide a dylib to link against, and am planning on providing a static library as well.

dSYM symbols

I provide a dSYM bundle to symbolicate the library when debugging your program.

Manpage

I provide a manpage that documents the library data types and functions.

Bindings to popular languages

I've made bindings to allow you to easily use libgetargv from your favorite language, and $DAY_JOB language too.

Obj-C/C++

Libgetargv is written in C, out of necessity, and the C header for libgetargv is Objective-C and C++ compatible

Rust

There is a safe Rust crate that wraps the bindings to the lib

Swift

There are idiomatic Swift bindings that wrap the C Language Target for the lib (this will be published in Apple's Swift package repo once they finally set it up)

Java

There is a Java package that provides JNI bindings for the lib as a maven jar artifact

Ruby

There are Ruby bindings for the lib hosted on RubyGems

Javascript/Typescript

Node.js bindings with Typescript types included are hosted on npm

Python

Python bindings are hosted on PyPi

C#

C# bindings are hosted on Nuget

More

Additional language bindings are planned: Go, PHP, and Perl

homepage link