Linux: ¿Cómo encontrar funciones de archivos lib .so?
Solución 1: para buscar funciones de un archivo lib .so:
Archivo de ejemplo /usr/local/lib/libopencv_ml.so
1 | nm -C /usr/local/lib/libopencv_ml.so |
Resultado:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 dieciséis 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 sesenta y cinco 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 | ... 00000000002b71c0 d vtable for cv::ml::BruteForceImpl 00000000002b6b80 d vtable for cv::ml::DTreesImplForBoost 00000000002b5520 V vtable for cv::ml::LogisticRegression 00000000002b5e40 d vtable for cv::ml::DTreesImplForRTrees 00000000002b67c0 V vtable for cv::ml::NormalBayesClassifier 00000000002b5620 d vtable for cv::ml::LogisticRegressionImpl 00000000002b6860 d vtable for cv::ml::NormalBayesClassifierImpl::NBPredictBody 00000000002b68a0 d vtable for cv::ml::NormalBayesClassifierImpl 00000000002b7a40 V vtable for cv::ml::EM 00000000002b6300 V vtable for cv::ml::SVM::Kernel 00000000002b6360 V vtable for cv::ml::SVM 00000000002b7140 d vtable for cv::ml::Impl 00000000002b6a00 V vtable for cv::ml::Boost 00000000002b5b80 V vtable for cv::ml::DTrees 00000000002b7b40 V vtable for cv::ml::EMImpl 00000000002b5cc0 V vtable for cv::ml::RTrees 00000000002b57e0 V vtable for cv::ml::ANN_MLP 00000000002b6520 d vtable for cv::ml::SVMImpl::PredictBody 00000000002b6560 d vtable for cv::ml::SVMImpl 00000000002b7060 V vtable for cv::ml::KNearest 00000000002b6da0 d vtable for cv::ml::BoostImpl 00000000002b7ca0 V vtable for cv::ml::StatModel 00000000002b7720 V vtable for cv::ml::TrainData 00000000002b7660 d vtable for cv::detail::PtrOwnerImpl<cv::ml::DTreesImpl::WorkData, cv::DefaultDeleter<cv::ml::DTreesImpl::WorkData> > 00000000002b76a0 d vtable for cv::detail::PtrOwnerImpl<cv::ml::DTreesImpl, cv::DefaultDeleter<cv::ml::DTreesImpl> > 00000000002b7360 d vtable for cv::detail::PtrOwnerImpl<cv::ml::KDTreeImpl, cv::DefaultDeleter<cv::ml::KDTreeImpl> > 00000000002b61e0 d vtable for cv::detail::PtrOwnerImpl<cv::ml::RTreesImpl, cv::DefaultDeleter<cv::ml::RTreesImpl> > 00000000002b5aa0 d vtable for cv::detail::PtrOwnerImpl<cv::ml::ANN_MLPImpl, cv::DefaultDeleter<cv::ml::ANN_MLPImpl> > 00000000002b73a0 d vtable for cv::detail::PtrOwnerImpl<cv::ml::KNearestImpl, cv::DefaultDeleter<cv::ml::KNearestImpl> > 00000000002b66c0 d vtable for cv::detail::PtrOwnerImpl<cv::ml::SVMKernelImpl, cv::DefaultDeleter<cv::ml::SVMKernelImpl> > 00000000002b79a0 d vtable for cv::detail::PtrOwnerImpl<cv::ml::TrainDataImpl, cv::DefaultDeleter<cv::ml::TrainDataImpl> > 00000000002b7320 d vtable for cv::detail::PtrOwnerImpl<cv::ml::BruteForceImpl, cv::DefaultDeleter<cv::ml::BruteForceImpl> > 00000000002b5720 d vtable for cv::detail::PtrOwnerImpl<cv::ml::LogisticRegressionImpl, cv::DefaultDeleter<cv::ml::LogisticRegressionImpl> > 00000000002b6940 d vtable for cv::detail::PtrOwnerImpl<cv::ml::NormalBayesClassifierImpl, cv::DefaultDeleter<cv::ml::NormalBayesClassifierImpl> > 00000000002b7c40 d vtable for cv::detail::PtrOwnerImpl<cv::ml::EMImpl, cv::DefaultDeleter<cv::ml::EMImpl> > 00000000002b6700 d vtable for cv::detail::PtrOwnerImpl<cv::ml::SVMImpl, cv::DefaultDeleter<cv::ml::SVMImpl> > 00000000002b6f20 d vtable for cv::detail::PtrOwnerImpl<cv::ml::BoostImpl, cv::DefaultDeleter<cv::ml::BoostImpl> > 00000000002b54e0 d vtable for cv::detail::PtrOwner 00000000000a5532 r cv::ml::DTreesImpl::findBestSplit(std::vector<int, std::allocator<int> > const&)::__func__ 00000000000a556a r cv::ml::DTreesImpl::startTraining(cv::Ptr<cv::ml::TrainData> const&, int)::__func__ 00000000000a555b r cv::ml::DTreesImpl::initCompVarIdx()::__func__ 00000000000a5520 r cv::ml::DTreesImpl::findSplitCatClass(int, std::vector<int, std::allocator<int> > const&, double, int*)::__func__ 00000000000a5540 r cv::ml::DTreesImpl::addNodeAndTrySplit(int, std::vector<int, std::allocator<int> > const&)::__func__ 00000000000a5490 r cv::ml::DTreesImpl::read(cv::FileNode const&)::__func__ 00000000000a5553 r cv::ml::DTreesImpl::addTree(std::vector<int, std::allocator<int> > const&)::__func__ 00000000000a5517 r cv::ml::DTreesImpl::calcDir(int, std::vector<int, std::allocator<int> > const&, std::vector<int, std::allocator<int> >&, std::vector<int, std::allocator<int> >&)::__func__ 00000000000a5495 r cv::ml::DTreesImpl::readSplit(cv::FileNode const&)::__func__ 00000000000a3eb6 r cv::ml::TreeParams::setCVFolds(int)::__func__ 00000000000a4ed6 r cv::ml::TreeParams::setCVFolds(int)::__func__ 00000000000a5596 r cv::ml::TreeParams::setCVFolds(int)::__func__ 00000000000a3ec1 r cv::ml::TreeParams::setMaxDepth(int)::__func__ 00000000000a4ee1 r cv::ml::TreeParams::setMaxDepth(int)::__func__ 00000000000a55a1 r cv::ml::TreeParams::setMaxDepth(int)::__func__ 00000000000a3ed0 r cv::ml::TreeParams::setMaxCategories(int)::__func__ 00000000000a4ef0 r cv::ml::TreeParams::setMaxCategories(int)::__func__ 00000000000a55b0 r cv::ml::TreeParams::setMaxCategories(int)::__func__ 00000000000a3ea0 r cv::ml::TreeParams::setRegressionAccuracy(float)::__func__ 00000000000a4ec0 r cv::ml::TreeParams::setRegressionAccuracy(float)::__func__ 00000000000a5580 r cv::ml::TreeParams::setRegressionAccuracy(float)::__func__ 00000000000a3b2b r cv::ml::ANN_MLPImpl::read_params(cv::FileNode const&)::__func__ 00000000000a3b69 r cv::ml::ANN_MLPImpl::train_rprop(cv::Mat const&, cv::Mat const&, cv::Mat const&, cv::TermCriteria)::__func__ 00000000000a3bd8 r cv::ml::ANN_MLPImpl::setLayerSizes(cv::_InputArray const&)::__func__ 00000000000a3ba0 r cv::ml::ANN_MLPImpl::prepare_to_train(cv::Mat const&, cv::Mat const&, cv::Mat&, int)::__func__ 00000000000a3b80 r cv::ml::ANN_MLPImpl::calc_output_scale(cv::Mat const&, int)::__func__ 00000000000a3bf0 r cv::ml::ANN_MLPImpl::setActivationFunction(int, double, double)::__func__ 00000000000a624f r cv::ml::randMVNormal(cv::_InputArray const&, cv::_InputArray const&, int, cv::_OutputArray const&)::__func__ 00000000000a47f6 r cv::ml::SVMKernelImpl::calc(int, int, float const*, float const*, float*)::__func__ 00000000000a5d50 r cv::ml::TrainDataImpl::shuffleTrainTest()::__func__ 00000000000a5d70 r cv::ml::TrainDataImpl::setTrainTestSplit(int, bool)::__func__ 00000000000a5ce0 r cv::ml::TrainDataImpl::preprocessCategorical(cv::Mat const&, cv::Mat*, std::vector<int, std::allocator<int> >&, std::vector<int, std::allocator<int> >*, std::vector<int, std::allocator<int> >&)::__func__ 00000000000a5d90 r cv::ml::TrainDataImpl::setTrainTestSplitRatio(double, bool)::__func__ 00000000000a5d12 r cv::ml::TrainDataImpl::loadCSV(cv::String const&, int, int, int, cv::String const&, char, char)::__func__ 00000000000a5cfa r cv::ml::TrainDataImpl::setData(cv::_InputArray const&, int, cv::_InputArray const&, cv::_InputArray const&, cv::_InputArray const&, cv::_InputArray const&, cv::_InputArray const&, cv::_InputArray const&)::__func__ 00000000000a4ea0 r cv::ml::DTreesImplForBoost::updateWeightsAndTrim(int, std::vector<int, std::allocator<int> >&)::__func__ 00000000000a4e70 r cv::ml::DTreesImplForBoost::read(cv::FileNode const&)::__func__ 00000000000a3e70 r cv::ml::DTreesImplForRTrees::read(cv::FileNode const&)::__func__ 00000000000a3581 r cv::ml::LogisticRegressionImpl::compute_cost(cv::Mat const&, cv::Mat const&, cv::Mat const&)::__func__ 00000000000a3570 r cv::ml::LogisticRegressionImpl::compute_gradient(cv::Mat const&, cv::Mat const&, cv::Mat const&, double, cv::Mat&)::__func__ 00000000000a3550 r cv::ml::LogisticRegressionImpl::batch_gradient_descent(cv::Mat const&, cv::Mat const&, cv::Mat const&)::__func__ 00000000000a3530 r cv::ml::LogisticRegressionImpl::mini_batch_gradient_descent(cv::Mat const&, cv::Mat const&, cv::Mat const&)::__func__ 00000000000a34f0 r cv::ml::LogisticRegressionImpl::read(cv::FileNode const&)::__func__ 00000000000a35a4 r cv::ml::LogisticRegressionImpl::train(cv::Ptr<cv::ml::TrainData> const&, int)::__func__ 00000000000a4b11 r cv::ml::NormalBayesClassifierImpl::read(cv::FileNode const&)::__func__ 00000000000a4b3c r cv::ml::NormalBayesClassifierImpl::train(cv::Ptr<cv::ml::TrainData> const&, int)::__func__ 00000000000a62c0 r cv::ml::createConcentricSpheresTestSet(int, int, int, cv::_OutputArray const&, cv::_OutputArray const&)::__func__ 00000000000a5050 r cv::ml::Impl::train(cv::Ptr<cv::ml::TrainData> const&, int)::__func__ 00000000000a6080 r cv::ml::EMImpl::read_params(cv::FileNode const&)::__func__ 00000000000a60f7 r cv::ml::EMImpl::decomposeCovs()::__func__ 00000000000a612c r cv::ml::EMImpl::checkTrainData(int, cv::Mat const&, int, int, cv::Mat const*, cv::Mat const*, std::vector<cv::Mat, std::allocator<cv::Mat> > const*, cv::Mat const*)::__func__ 00000000000a6160 r cv::ml::EMImpl::setClustersNumber(int)::__func__ 00000000000a6110 r cv::ml::EMImpl::clusterTrainSamples()::__func__ 00000000000a60e0 r cv::ml::EMImpl::computeLogWeightDivDet()::__func__ 00000000000a6140 r cv::ml::EMImpl::setCovarianceMatrixType(int)::__func__ 00000000000a6124 r cv::ml::EMImpl::doTrain(int, cv::_OutputArray const&, cv::_OutputArray const&, cv::_OutputArray const&)::__func__ 00000000000a4dd0 r cv::ml::KDTree::build(cv::_InputArray const&, cv::_InputArray const&, bool)::__func__ 00000000000a47e0 r cv::ml::SVMImpl::checkParams()::__func__ 00000000000a471e r cv::ml::SVMImpl::read_params(cv::FileNode const&)::__func__ 00000000000a472a r cv::ml::SVMImpl::read(cv::FileNode const&)::__func__ 00000000000a47ec r cv::ml::SVMImpl::train(cv::Ptr<cv::ml::TrainData> const&, int)::__func__ 00000000000a47b5 r cv::ml::SVMImpl::Solver::solve_nu_svr(cv::Mat const&, std::vector<float, std::allocator<float> > const&, double, double, cv::Ptr<cv::ml::SVM::Kernel> const&, std::vector<double, std::allocator<double> >&, cv::ml::SVMImpl::Solver::SolutionInfo&, cv::TermCriteria)::__func__ 00000000000a47c2 r cv::ml::SVMImpl::Solver::solve_eps_svr(cv::Mat const&, std::vector<float, std::allocator<float> > const&, double, double, cv::Ptr<cv::ml::SVM::Kernel> const&, std::vector<double, std::allocator<double> >&, cv::ml::SVMImpl::Solver::SolutionInfo&, cv::TermCriteria)::__func__ 00000000000a47d0 r cv::ml::SVMImpl::Solver::Solver(cv::Mat const&, std::vector<signed char, std::allocator<signed char> > const&, std::vector<double, std::allocator<double> >&, std::vector<double, std::allocator<double> > const&, double, double, cv::Ptr<cv::ml::SVM::Kernel> const&, float* (cv::ml::SVMImpl::Solver::*)(int, float*, float*, bool), bool (cv::ml::SVMImpl::Solver::*)(int&, int&), void (cv::ml::SVMImpl::Solver::*)(double&, double&), cv::TermCriteria)::__func__ 00000000000a47d7 r cv::ml::SVMImpl::do_train(cv::Mat const&, cv::Mat const&)::__func__ 00000000000a4796 r cv::ml::SVMImpl::trainAuto(cv::Ptr<cv::ml::TrainData> const&, int, cv::ml::ParamGrid, cv::ml::ParamGrid, cv::ml::ParamGrid, cv::ml::ParamGrid, cv::ml::ParamGrid, cv::ml::ParamGrid, bool)::__func__ 00000000000a625c r cv::ml::StatModel::train(cv::Ptr<cv::ml::TrainData> const&, int)::__func__ 00000000000a5db3 r cv::ml::TrainData::getSubVector(cv::Mat const&, cv::Mat const&)::__func__ 00000000000a4787 r cv::ml::checkParamGrid(cv::ml::ParamGrid const&)::__func__ 00000000000a4dc0 r cv::ml::medianPartition(unsigned long*, int, int, float const*)::__func__ 00000000000a47a0 r cv::ml::sortSamplesByClasses(cv::Mat const&, cv::Mat const&, std::vector<int, std::allocator<int> >&, std::vector<int, std::allocator<int> >&)::__func__ 00000000000a6246 r cv::ml::Cholesky(cv::Mat const&, cv::Mat&)::__func__ 00000000000a3592 r void cv::Mat::push_back<int>(int const&)::__func__ 00000000000a358e r cv::Mat::Mat(int, int, int, void*, unsigned long)::__func__ 00000000000a3be6 r cv::Mat::Mat(int, int, int, void*, unsigned long)::__func__ 00000000000a3e9c r cv::Mat::Mat(int, int, int, void*, unsigned long)::__func__ 00000000000a47f2 r cv::Mat::Mat(int, int, int, void*, unsigned long)::__func__ 00000000000a4b38 r cv::Mat::Mat(int, int, int, void*, unsigned long)::__func__ 00000000000a4da2 r cv::Mat::Mat(int, int, int, void*, unsigned long)::__func__ 00000000000a4e91 r cv::Mat::Mat(int, int, int, void*, unsigned long)::__func__ 00000000000a5d02 r cv::Mat::Mat(int, int, int, void*, unsigned long)::__func__ 00000000000a3b65 r cv::Mat::Mat(cv::Size_<int>, int, void*, unsigned long)::__func__ 00000000000a4da6 r cv::Mat::Mat(cv::Size_<int>, int, void*, unsigned long)::__func__ 00000000000a5cf6 r cv::Mat::Mat(cv::Size_<int>, int, void*, unsigned long)::__func__ 00000000000a54d6 r cv::FileStorage& cv::operator<< <bool>(cv::FileStorage&, bool const&)::__func__ 00000000000a6097 r cv::FileStorage& cv::operator<< <double>(cv::FileStorage&, double const&)::__func__ 00000000000a350b r cv::FileStorage& cv::operator<< <double>(cv::FileStorage&, double const&)::__func__ 00000000000a3b42 r cv::FileStorage& cv::operator<< <double>(cv::FileStorage&, double const&)::__func__ 00000000000a3e80 r cv::FileStorage& cv::operator<< <double>(cv::FileStorage&, double const&)::__func__ 00000000000a472f r cv::FileStorage& cv::operator<< <double>(cv::FileStorage&, double const&)::__func__ 00000000000a4e86 r cv::FileStorage& cv::operator<< <double>(cv::FileStorage&, double const&)::__func__ 00000000000a549f r cv::FileStorage& cv::operator<< <double>(cv::FileStorage&, double const&)::__func__ 00000000000a54f7 r cv::FileStorage& cv::operator<< <float>(cv::FileStorage&, float const&)::__func__ 00000000000a60a2 r cv::FileStorage& cv::operator<< <int>(cv::FileStorage&, int const&)::__func__ 00000000000a3500 r cv::FileStorage& cv::operator<< <int>(cv::FileStorage&, int const&)::__func__ 00000000000a3b37 r cv::FileStorage& cv::operator<< <int>(cv::FileStorage&, int const&)::__func__ 00000000000a3e91 r cv::FileStorage& cv::operator<< <int>(cv::FileStorage&, int const&)::__func__ 00000000000a473a r cv::FileStorage& cv::operator<< <int>(cv::FileStorage&, int const&)::__func__ 00000000000a4b21 r cv::FileStorage& cv::operator<< <int>(cv::FileStorage&, int const&)::__func__ 00000000000a4e75 r cv::FileStorage& cv::operator<< <int>(cv::FileStorage&, int const&)::__func__ 00000000000a5061 r cv::FileStorage& cv::operator<< <int>(cv::FileStorage&, int const&)::__func__ 00000000000a54ec r cv::FileStorage& cv::operator<< <int>(cv::FileStorage&, int const&)::__func__ 00000000000a608c r cv::FileStorage& cv::operator<< <cv::Mat>(cv::FileStorage&, cv::Mat const&)::__func__ 00000000000a34f5 r cv::FileStorage& cv::operator<< <cv::Mat>(cv::FileStorage&, cv::Mat const&)::__func__ 00000000000a4745 r cv::FileStorage& cv::operator<< <cv::Mat>(cv::FileStorage&, cv::Mat const&)::__func__ 00000000000a4b16 r cv::FileStorage& cv::operator<< <cv::Mat>(cv::FileStorage&, cv::Mat const&)::__func__ 00000000000a5056 r cv::FileStorage& cv::operator<< <cv::Mat>(cv::FileStorage&, cv::Mat const&)::__func__ 00000000000a54e1 r cv::FileStorage& cv::operator<< <cv::Mat>(cv::FileStorage&, cv::Mat const&)::__func__ 00000000000a3e75 r cv::FileStorage& cv::operator<< <std::vector<float, std::allocator<float> > >(cv::FileStorage&, std::vector<float, std::allocator<float> > const&)::__func__ 00000000000a54aa r cv::FileStorage& cv::operator<< <std::vector<float, std::allocator<float> > >(cv::FileStorage&, std::vector<float, std::allocator<float> > const&)::__func__ 00000000000a54cb r cv::FileStorage& cv::operator<< <std::vector<unsigned char, std::allocator<unsigned char> > >(cv::FileStorage&, std::vector<unsigned char, std::allocator<unsigned char> > const&)::__func__ 00000000000a3b5a r cv::FileStorage& cv::operator<< <std::vector<int, std::allocator<int> > >(cv::FileStorage&, std::vector<int, std::allocator<int> > const&)::__func__ 00000000000a54b5 r cv::FileStorage& cv::operator<< <std::vector<int, std::allocator<int> > >(cv::FileStorage&, std::vector<int, std::allocator<int> > const&)::__func__ 00000000000a54c0 r cv::FileStorage& cv::operator<< <std::vector<cv::Vec<int, 2>, std::allocator<cv::Vec<int, 2> > > >(cv::FileStorage&, std::vector<cv::Vec<int, 2>, std::allocator<cv::Vec<int, 2> > > const&)::__func__ 00000000000a550a r cv::ml::DTreesImpl::predictTrees(cv::Range const&, cv::Mat const&, int) const::__func__ 00000000000a5502 r cv::ml::DTreesImpl::predict(cv::_InputArray const&, cv::_OutputArray const&, int) const::__func__ 00000000000a506c r cv::ml::KDTreeImpl::findNearest(cv::_InputArray const&, int, cv::_OutputArray const&, cv::_OutputArray const&, cv::_OutputArray const&) const::__func__ 00000000000a3b20 r cv::ml::ANN_MLPImpl::getWeights(int) const::__func__ 00000000000a3b4d r cv::ml::ANN_MLPImpl::write_params(cv::FileStorage&) const::__func__ 00000000000a3bc0 r cv::ml::ANN_MLPImpl::calc_activ_func(cv::Mat&, cv::Mat const&) const::__func__ 00000000000a3bd0 r cv::ml::ANN_MLPImpl::predict(cv::_InputArray const&, cv::_OutputArray const&, int) const::__func__ 00000000000a5da7 r cv::ml::TrainDataImpl::getCatCount(int) const::__func__ 00000000000a5d06 r cv::ml::TrainDataImpl::setVarTypes(cv::String const&, int, std::vector<unsigned char, std::allocator<unsigned char> >&) const::__func__ 00000000000a5d30 r cv::ml::TrainDataImpl::getNormCatValues(int, cv::_InputArray const&, int*) const::__func__ 00000000000a5d1a r cv::ml::TrainDataImpl::getSample(cv::_InputArray const&, int, float*) const::__func__ 00000000000a5d41 r cv::ml::TrainDataImpl::getValues(int, cv::_InputArray const&, float*) const::__func__ 00000000000a5078 r cv::ml::BruteForceImpl::findNearest(cv::_InputArray const&, int, cv::_OutputArray const&, cv::_OutputArray const&, cv::_OutputArray const&) const::__func__ 00000000000a4e80 r cv::ml::DTreesImplForBoost::write(cv::FileStorage&) const::__func__ 00000000000a3e8b r cv::ml::DTreesImplForRTrees::write(cv::FileStorage&) const::__func__ 00000000000a351c r cv::ml::LogisticRegressionImpl::remap_labels(cv::Mat const&, std::map<int, int, std::less<int>, std::allocator<std::pair<int const, int> > > const&) const::__func__ 00000000000a3516 r cv::ml::LogisticRegressionImpl::write(cv::FileStorage&) const::__func__ 00000000000a359c r cv::ml::LogisticRegressionImpl::predict(cv::_InputArray const&, cv::_OutputArray const&, int) const::__func__ 00000000000a4b2c r cv::ml::NormalBayesClassifierImpl::predictProb(cv::_InputArray const&, cv::_OutputArray const&, cv::_OutputArray const&, int) const::__func__ 00000000000a4700 r cv::ml::SVM::getUncompressedSupportVectors() const::__func__ 00000000000a60c0 r cv::ml::EMImpl::computeProbabilities(cv::Mat const&, cv::Mat*, int) const::__func__ 00000000000a60ad r cv::ml::EMImpl::predict2(cv::_InputArray const&, cv::_OutputArray const&) const::__func__ 00000000000a4daa r cv::ml::KDTree::findNearest(cv::_InputArray const&, int, int, cv::_OutputArray const&, cv::_OutputArray const&, cv::_OutputArray const&, cv::_OutputArray const&) const::__func__ 00000000000a4d93 r cv::ml::KDTree::findOrthoRange(cv::_InputArray const&, cv::_InputArray const&, cv::_OutputArray const&, cv::_OutputArray const&, cv::_OutputArray const&) const::__func__ 00000000000a4d80 r cv::ml::KDTree::getPoint(int, int*) const::__func__ 00000000000a4d89 r cv::ml::KDTree::getPoints(cv::_InputArray const&, cv::_OutputArray const&, cv::_OutputArray const&) const::__func__ 00000000000a477c r cv::ml::SVMImpl::PredictBody::operator()(cv::Range const&) const::__func__ 00000000000a4760 r cv::ml::SVMImpl::getDecisionFunction(int, cv::_OutputArray const&, cv::_OutputArray const&) const::__func__ 00000000000a4750 r cv::ml::SVMImpl::write(cv::FileStorage&) const::__func__ 00000000000a4774 r cv::ml::SVMImpl::predict(cv::_InputArray const&, cv::_OutputArray const&, int) const::__func__ |
Encuentra una función: por ejemplo: findNearest
1 2 3 4 5 6 7 8 9 | [root@tutorialspots ~]# nm -C /usr/local/lib/libopencv_ml.so | grep findNearest 00000000000655d0 t cv::ml::KDTreeImpl::findNearest(cv::_InputArray const&, int, cv::_OutputArray const&, cv::_OutputArray const&, cv::_OutputArray const&) const 00000000000636a0 t cv::ml::KNearestImpl::findNearest(cv::_InputArray const&, int, cv::_OutputArray const&, cv::_OutputArray const&, cv::_OutputArray const&) const 00000000000642c0 t cv::ml::BruteForceImpl::findNearest(cv::_InputArray const&, int, cv::_OutputArray const&, cv::_OutputArray const&, cv::_OutputArray const&) const 0000000000068770 t cv::ml::BruteForceImpl::findNearestCore(cv::Mat const&, int, cv::Range const&, cv::Mat*, cv::Mat*, cv::Mat*, float*) const 000000000005b500 T cv::ml::KDTree::findNearest(cv::_InputArray const&, int, int, cv::_OutputArray const&, cv::_OutputArray const&, cv::_OutputArray const&, cv::_OutputArray const&) const 00000000000a506c r cv::ml::KDTreeImpl::findNearest(cv::_InputArray const&, int, cv::_OutputArray const&, cv::_OutputArray const&, cv::_OutputArray const&) const::__func__ 00000000000a5078 r cv::ml::BruteForceImpl::findNearest(cv::_InputArray const&, int, cv::_OutputArray const&, cv::_OutputArray const&, cv::_OutputArray const&) const::__func__ 00000000000a4daa r cv::ml::KDTree::findNearest(cv::_InputArray const&, int, int, cv::_OutputArray const&, cv::_OutputArray const&, cv::_OutputArray const&, cv::_OutputArray const&) const::__func__ |
Solución 2: busque una función de muchos archivos .so
1 | nm -C -A /usr/local/lib/*.so | grep cvSetZero |
Resultado:
1 2 3 4 5 6 | [root@tutorialspots ~]# nm -C -A /usr/local/lib/*.so | grep cvSetZero /usr/local/lib/libopencv_calib3d.so: U cvSetZero /usr/local/lib/libopencv_core.so:000000000024ddd0 T cvSetZero /usr/local/lib/libopencv_imgproc.so: U cvSetZero /usr/local/lib/libopencv_objdetect.so: U cvSetZero /usr/local/lib/libopencv_video.so: U cvSetZero |
o:
1 2 | [root@tutorialspots ~]# nm -D -o --defined-only /usr/local/lib/*.so | grep cvSetZero /usr/local/lib/libopencv_core.so:000000000024ddd0 T cvSetZero |
0 Comentarios
Dejanos tu comentario para seguir mejorando!