Como obter o caminho do programa [duplicado]

Possível duplicado:
como encontrar a localização do executável em C

Estou escrevendo um aplicativo multiplataforma em C ++ usando GTK + e estou com um problema. Eu devo pegar o caminho do programa. Por exemplo, quando o programa está em/home/user/program (ouC:\Users\user\program.exe), eu tenho/home/user/ (ouC:\Users\user\)

Pode e como posso fazer isso?