У меня есть драйвер теста, связанный с библиотекой, которую я написал. Библиотека использует autotools для создания архива (.a file) и динамической библиотеки (.so).
Когда я связываю своего водителя с "g++ -статическим", предположительно, связываясь с .a, valgrind загорается с жалобой на "Условный переход или движение зависит от неинициализированного значения (значений)". Первый отказ происходит перед магистралью в __pthread_initialize_minimal.
Когда я связываюсь без -статического, предположительно связываясь с .so, я не получаю никаких жалоб valgrind.
Кто-нибудь знает почему? Не работает ли valgrind просто не с -static?
UPDATE : Я не могу опубликовать даже подготовленную версию моего драйвера, потому что он ссылается на очень большую библиотеку, которую я не мог разобрать, но я замечаю, что самая простая из всех программ
int main()
{
return 0;
}
дает ошибку при связи с -static и запуск из valgrind:
==15449== Use of uninitialised value of size 8
==15449== at 0x40B0F3: exit (in /home/jdgordo/src/t)
Я должен был включить, что я работаю на 64-разрядном Redhat 5.5.
-121--1244165-Есть ли способ свободно описать объект (например, с помощью конечных автоматов сопоставления шаблонов) в трехмерной воксельной сетке точно так же, как мы можем свободно описать шаблоны в одномерной строке с regexp?
Допустим, я хочу описать кубоид из Воксели типа "A" с нижней гранью, состоящей из "B" или Voxels типа "C" с высотой 3 и шириной 5 и сопоставить это описание с полем Voxel, чтобы найти примеры шаблона. Я могу выполнить поиск точных моделей (kind-of-like-Boyer-Moore-in-3D), но мне нужно указать переменные размеры для некоторых объектов (например, переменную длину для вышеупомянутого кубоида).