GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara menemukan path lengkap program C++ Linux dari dalam?

Jawaban teratas untuk pertanyaan ini mencantumkan teknik untuk sejumlah besar OS.


string get_path( )
{
        char arg1[20];
        char exepath[PATH_MAX + 1] = {0};

        sprintf( arg1, "/proc/%d/exe", getpid() );
        readlink( arg1, exepath, 1024 );
        return string( exepath );
}

Di Linux (Posix?) Anda memiliki tautan simbolik /proc/self/exe yang tertaut ke jalur lengkap dari yang dapat dieksekusi.

Di Windows, gunakan GetModuleFileName .

Jangan pernah mengandalkan argv[0] , yang tidak dijamin bermanfaat.

Perhatikan bahwa jalur dan sistem file bukan bagian dari bahasa dan dengan demikian merupakan fitur yang bergantung pada platform.


Linux
  1. Cara Mencari Web Dari Terminal Di Linux

  2. Bagaimana saya bisa mendapatkan informasi wadah Docker Linux dari dalam wadah itu sendiri?

  3. Cara mem-pipe hasil 'find' ke mv di Linux

  1. Cara Mengetahui Apakah Disk Adalah SSD Atau HDD Di Linux

  2. bagaimana menemukan jalur HADOOP_HOME di Linux?

  3. Bagaimana cara mengekstrak nama file tanpa ekstensi dari path lengkap?

  1. Program perangkat keras dari baris perintah Linux

  2. Bagaimana cara mendapatkan path ke file saat ini (pwd) di Linux dari C?

  3. Bagaimana menemukan jalur instal git di Mac atau Linux?