揮発性のメモ2

http://d.hatena.ne.jp/iww/

hoge

実行ファイルのフルパス名を取得

/proc/数字/exe が実行ファイルのパスになってるので、それを読むだけ。

#include <stdio.h>
#include <unistd.h>
char *getmodulefilename()
{
    static char buf[1024]={};
/*
    char path[256];
    sprintf( path, "/proc/%d/exe", getpid() );
    readlink( path, buf, sizeof(buf)-1 );
*/
    readlink( "/proc/self/exe", buf, sizeof(buf)-1 );
    return buf;
}

int main()
{
    printf( "%s\n", getmodulefilename() );
    return 0;
}

バラしたくなったら
Man page of BASENAME
を使う


2014.09.13
/proc/self/exe