Использовать 16-значный десятичный разряд "% .16f"
String confidence = "95% confidence interval";
int width = confidence.length();
String f = "%-".concat(String.valueOf(width)).concat("s = ");
System.out.printf(f.concat("%.16f\n"), "mean", stats.mean());
System.out.printf(f.concat("%.16f\n"), "stddev", stats.stddev());
System.out.printf(f.concat("[%.16f, %.16f]"), confidence, stats.confidenceLo(), stats.confidenceHi());
Использовать
export LD_LIBRARY_PATH="/path/to/library/"
в Вашем .bashrc иначе, это только будет доступно удару и не любым программам, которые Вы запускаете.
Попробовать -R/path/to/library/
отметьте, когда Вы свяжетесь, это заставит программу посмотреть в том каталоге, и Вы не должны будете устанавливать переменные среды.
Править: Похож -R
Солярис только, и Вы находитесь на Linux.
Альтернативный путь состоял бы в том, чтобы добавить путь к /etc/ld.so.conf
и выполненный ldconfig
. Обратите внимание, что это - глобальное изменение, которое будет относиться ко всем динамично связанным двоичным файлам.
Необходимо постараться не устанавливать LD_LIBRARY_PATH
в Вашем .bashrc
. См."Why LD_LIBRARY_PATH is bad
"для получения дополнительной информации.
Используйте опцию компоновщика-rpath при соединении так, чтобы динамический компоновщик знал, где найти libsync.so
во время времени выполнения.
gcc ... -Wl,-rpath /path/to/library -L/path/to/library -lsync -o sync_test
Иначе должен был бы использовать обертку как это
#!/bin/bash
LD_LIBRARY_PATH=/path/to/library sync_test "$@"
Если sync_test
запускает любые другие программы, они могли бы закончить тем, что использовали освобождение в /path/to/library
который может или не может быть предназначен.
Вы 'Экспортировали' в своем .bashrc?
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:"/path/to/library"
Что также можно сделать, если это - что-то, что Вы установили в своей системе, должен добавить каталог, который содержит общие библиотеки в Ваш/etc/ld.so.conf файл, или сделайте новый файл в/etc/ld.so.conf.d/
(Я и проверил RHEL5 и распределение Ubuntu, таким образом, я думаю, что это универсально для Linux),
ldconfig программа удостоверится, что они в масштабе всей системы включены.
Посмотрите следующую ссылку для получения дополнительной информации: www.dwheeler.com/secure-programs/Secure-Programs-HOWTO/dlls.html
Можно просто поместить это все на одну строку:
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/path/to/library" ./sync_test
Должен сделать вещи немного легче, даже если это не изменяет ничего фундаментального