Я использую Ubuntu 14.04. Я добавил следующий код вверху main () в программе, но я ничего не печатал при запуске.
char const* masteruri = getenv("ROS_MASTER_URI");
if (masteruri!=NULL){
printf ("The current masteruri is: %s",masteruri);
}
char const* rosdis = getenv("ROS_DISTRO");
if (rosdis!=NULL){
printf ("\n The current rosdis is: %s",rosdis);
}
но тот же код в другой программе дает ожидаемый результат
The current masteruri is: http://localhost:11311
The current rosdis is: indigo
Я включил stdlib.h и экспортировал переменные в etc / profile.d
Я не знаю почему, но printf почему-то не работал, я попробовал DEVLOG_INFO и заметил, что значения переменных, которые были экспортированы в /etc/profile.d, могут быть возвращены с помощью getenv () обеими программами.
Других решений пока нет …