Подскажите способ определить из программы где она лежит, не откуда она была запущена, а где лежит. Чувствую что есть простой способ, пока пришлось заюзать следующее:
progman@prealfa:/tmp/ddd$ cat test.cpp
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <unistd.h>
int main()
{
    char buf[1024];
    sprintf (buf, "/proc/%lu/exe", getpid());
    int rc = readlink(buf, buf, sizeof(buf));
    if (rc == -1)
    {
        printf ("ERROR: %s\n", strerror(errno));
        exit(1);
    }
    
    buf[rc] = 0;
    printf ("%s\n", buf);
    return 0;
}
progman@prealfa:/tmp/ddd$ g++ test.cpp -o test     
progman@prealfa:/tmp/ddd$ ./test  
/tmp/ddd/test
Как проще ?!!

    
      Ответ на:
      
          комментарий
        от idle 
  

    
      Ответ на:
      
          комментарий
        от anonymous 
  
    
      Ответ на:
      
          комментарий
        от linuxsoft 
  
    
      Ответ на:
      
          комментарий
        от anonymous 
  
    
      Ответ на:
      
          комментарий
        от linuxsoft 
  
    
      Ответ на:
      
          комментарий
        от unnamed 
  
    
      Ответ на:
      
          комментарий
        от linuxsoft 
  
    
      Ответ на:
      
          комментарий
        от linuxsoft 
  
    
      Ответ на:
      
          комментарий
        от aton 
  
    
      Ответ на:
      
          комментарий
        от linuxsoft 
  
    
      Ответ на:
      
          комментарий
        от nobody 
  


    
      Ответ на:
      
          комментарий
        от vilfred 
  
    
      Ответ на:
      
          комментарий
        от anonymous 
  
    
      Ответ на:
      
          комментарий
        от vilfred 
  
    
      Ответ на:
      
          комментарий
        от vilfred 
  
    
        Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
      
Похожие темы
- Форум BROADCAST sendto вызывает Permission denied (2004)
- Форум non-blocking write (2011)
- Форум покритикуйте функцию (2009)
- Форум не могу прочитать kmem (2007)
- Форум Как узнать реальный, не plt, адрес библиотечной функции (2018)
- Форум как включить поддержку больших файлов? (2008)
- Форум Чтение запись COM порта (2018)
- Форум почему так? (2014)
- Форум Баг в libc или я не умею читать стандарт??? (2018)
- Форум Как изменить максимальное число открытых файлов ? (2006)