草庐IT

c++ - 如何将 Crypto++ 库添加到 Qt 项目中

我下载了Crypto++源代码并在VisualStudio2013中编译了cryptlib项目,然后我将生成的.lib文件添加到我的Qt项目中,这使得我的.pro文件如下所示:QT+=coreguiQT+=sqlgreaterThan(QT_MAJOR_VERSION,4):QT+=widgetsTARGET=untitledTEMPLATE=appSOURCES+=main.cpp\mainwindow.cppHEADERS+=mainwindow.h\databasecontrol.h\test.hFORMS+=mainwindow.uiwin32:CONFIG(release,d

c++ - Pthread 程序运行速度随着线程的增加而变慢

我是并行编程的初学者,我尝试使用pthread库编写并行程序。我在8处理器计算机上运行该程序。问题是,当我增加NumProcs时,每个线程都会变慢,尽管它们的任务总是相同的。有人可以帮我弄清楚发生了什么吗?`#defineMAX_NUMP16usingnamespacestd;intNumProcs;pthread_mutex_tSyncLock;/*mutex*/pthread_cond_tSyncCV;/*conditionvariable*/intSyncCount;/*numberofprocessorsatthebarriersofar*/pthread_mutex_tThr

c++ - 如何在代码库中查找未引用的类

我们正处于开发阶段,其中创建了许多可能短暂存在的代码,因为它实际上是脚手架,在某些时候会被其他东西取代,但通常会继续存在并成为忘记了。是否有任何好的技术可以在代码库中找到未使用的类?显然会有很多误报(例如库类:你可能没有使用所有标准容器,但你想知道它们在那里),但如果它们按目录列出,那么它可能更容易看到一瞥。我可以编写一个脚本,对所有classXXX进行grep,然后再次搜索所有实例,但必须忽略定义该类方法的cpp文件的结果。这也令人难以置信慢-O(N^2)代码库中类的数量代码覆盖工具在这里并不是一个真正的选择,因为它有一个GUI,不能以编程方式轻松调用所有功能。平台是VisualSt

c++ - C++中无库分类SVM的实现

我最近几周在学习支持vector机。我了解如何将数据分为两类的理论概念。但我不清楚如何选择支持vector并生成分隔线以使用C++对新数据进行分类。假设,我有两个类的两个训练数据集绘制数据后,我得到了以下带vector的特征空间,这里,分隔线也很清楚。如何在没有库函数的情况下在C++中实现它。这将帮助我理清关于SVM的实现概念。我需要清楚实现,因为我将在我的母语的意见挖掘中应用SVM。 最佳答案 我会加入大多数人的建议,并说你真的应该考虑使用图书馆。SVM算法非常棘手,如果由于您的实现中的错误而无法正常工作,则会增加噪音。更不用说在

c++ - 如何将 override 关键字添加到大型 C++ 代码库?

我有一个包含数千个源文件的大型C++代码库。我想在适当的地方添加override关键字。我的一些明显被覆盖的函数实际上并没有覆盖基类中的任何函数,我想捕获这些或至少让它们脱颖而出。我尝试手动执行,但代码库太大。我尝试使用clang-modernize,但它没有提供有用的说明。我还担心它无法理解为VisualStudio编写的代码库。如何在不花费人工周或更多时间的情况下将override关键字添加到我的代码库中? 最佳答案 似乎clang-modernize已经进入了clang-tidy这支持这一点。示例代码(test.cpp):st

c++ - opencv 3.1 的静态库在哪里

我刚刚注意到openCV3.1已发布,但是当我下载适用于windows的二进制文件时,我注意到此版本没有静态库。静态库不会包含在官方二进制版本中是错误的还是官方的? 最佳答案 OpenCV从3.0版本开始提供一体化库,位于build/x64/vc12(vc14)opencv_world310.lib如果你想要像2.x版本的库,尝试自己用cmake构建lib和dll 关于c++-opencv3.1的静态库在哪里,我们在StackOverflow上找到一个类似的问题:

c++ - 尝试编译使用共享库的 C++ 程序时出错

我正在尝试编译一个示例程序,该程序使用C++中的共享库(也是我开发的),名称为libteSTLib.so。错误我编译共享库没有问题,但是当我尝试编译使用这个库的可执行文件时,出现以下错误:iface/libteSTLib.so:undefinedreferenceto'ALIB::function()'我做了什么我做了以下事情:C++库($project_dir/lib1中的文件)://HEADER#ifndefALIB_H#defineALIB_HnamespaceALIB{intfunction();}#endif----------------------------------

c++ - 性能断言

我知道C支持使用assert()的函数式断言。有没有什么方法/库支持C/C++中的性能断言?有其他语言吗?大致如下:perf_assert_begin(ID1)....../*assertthetimetakenislessthan2000ms*/perf_assert_end(ID1,interval(ID1) 最佳答案 断言可以使用assert来完成来自或static_assert,它内置于语言中。那么,为什么不手动计时然后检查assert中的时差呢?声明?#include#include#ifndefNDEBUGautosta

c++ - 两个 C++ 库如何共享一个静态缓冲区?

简介我正在开发我的第一个嵌入式应用程序(在Arduino上),它从许多现成的组件中获取输入并控制它们。这是一个完全私有(private)的非商业项目。(为了我自己的利益,只是一点乐趣/训练练习。)Arduino库只是一个压缩的C++源代码集合,带有一个C++和.h文件,提供库的接口(interface)。出于这个问题的目的,只需将每个库视为我从其他人那里获得的资源的集合。可以使用免费提供的库(声誉良好)来控制两个更复杂的组件,我希望使用这些库来避免重新发明轮子。但是,这两个库都声明了许多数组,这些数组消耗了太多非常有限的可用数据空间。启动时,我的应用程序将测试一个开关,该开关将确定在下

c++ - 共享库中静态函数成员的销毁顺序

我目前正在探索Boost.Serialization中与单例相关的一个非常棘手的错误。对于上下文:Boost1.65更改了单例的实现,打破了is_destructed导致程序退出或库卸载时出现段错误的通知。Boost1.66“修复”了这个问题,但会泄漏内存。单例代码(与这个问题相关)归结为:templatestructsingleton{T&inst(){staticTt;returnt;}}使用静态成员函数变量可以避免staticinitfiasco但在破坏方面仍然存在同样的问题。但是FindingC++staticinitializationorderproblems显示代码如何解