C/C++开发

MFC中多行静态文本的垂直居中

如何使用文本自动换行(多行)使结果在控件的矩形中垂直居中? 我试图解决的问题是:我在CComboBox旁边有一个CStatic控件,它根据选择更新信息文本。此文本可以是短的,也可以是长的,这要求CStatic有时使用多行,有时不使用。我希望信息文本与CComboBox垂直居中对齐。 现在的问题是: 如果我只将CStatic文本行设置为1行高,它看起来适合单行文本,但多行不适合并且不显 ..
发布时间:2022-05-12 10:56:31 C/C++开发

浴室同步和线程队列

对于家庭作业,我们遇到了卫生间同步的问题。我一直在努力想办法从哪里开始。我想做什么,当一个人进入洗手间(PersonEnterRestrrom函数),如果他们是女性,并且没有男性在洗手间,他们进入,如果不是,他们进入排队等待女性。我也想为男人做同样的事情。我试图实现一个包含线程的队列,但无法使其工作。然后在PersLeavesRestRoom函数中。当一个人离开时,如果浴室里没有人,另一个人就会开 ..
发布时间:2022-05-11 18:28:32 C/C++开发

从多个线程调用Eigen SimplicialLLT时,结果不正确

我正在尝试使用SimplicialLLT来计算SparseMatrix。由于我的程序在循环中运行,并且每个稀疏矩阵都不同,因此我尝试按如下方式并行化对SimplicialLLT的调用。这不是确切的运行代码。我已尝试复制进行调用的部分。 #include #include #include "Eigen/Core" #include "Eigen/LU ..
发布时间:2022-05-11 09:14:59 C/C++开发

Eigen图书馆中的Eigensolver

我想用本征库将[vec,val] = eig(A)从MatLab翻译成C++,但我达不到同样的结果! 我尝试了eigensolver、ComplexEigenSolver和SelfAdjointEigenSolver.,但都没有给出像eig(A)这样的结果。 Sample matrices: Tv(:,:,223) = 0.8648 -1.9658 -0.2785 - ..
发布时间:2022-05-11 09:00:18 C/C++开发

特征中的元素最大值和正部分

我想取本征中两个向量/矩阵的元素最大值。到目前为止,我已经编写了以下代码: template auto elemwise_max(const S & A, const T & B) { return (A.array() > B.array()).select(A, B); } 这样做正确吗,或者这样做有更好的方法吗? 对 ..
发布时间:2022-05-10 23:52:28 C/C++开发

始终返回相同矩阵的随机矩阵

我刚刚玩弄了一下Eigen,注意到MatrixXf::Random(3,3)总是返回相同的矩阵,第一个总是这样例如: 0.680375 0.59688-0.329554 -0.211234 0.823295 0.536459 0.566198-0.604897-0.444451 这是故意的行为,还是我只是在监督一些非常简单的事情?(我使用数学库的经验几乎为零) 我使用的代码: ..
发布时间:2022-05-10 23:21:14 C/C++开发

从指标向量中提取子矩阵的特征

我已经用谷歌搜索了一段时间,但还是找不到这个简单问题的答案。 在MatLab中,我可以这样做: rows = [1 3 5 9]; A = rand(10); B = A(rows, : ); 如何在Eigen中执行此操作?这似乎不太可能。我找到的最接近的东西是 MatrixXd a(10,10); a.row(1); ,但我希望获得多行/多列。另一位用户在这里也问了这 ..
发布时间:2022-05-10 23:12:33 C/C++开发

在Embarcadero C++Builder中生成的DLL出现未解决的外部链接错误

我正在尝试在Embarcadero C++Builder中使用AWS IoT SDK,我正在使用该SDK的Embedded C版本。我试图在RAD Studio IDE中使用生成的DLL,但无法输入所需的函数,因为它都在名称空间和类下。 因此我决定使用本问题中提到的SDK的嵌入式C版本,因为它的可移植性。Calling DLL Functions under a namespace in R ..
发布时间:2022-05-10 09:00:40 C/C++开发

C++优化PI函数估计

我已经编写了一个程序,它使用蒙特卡罗方法近似PI。它工作得很好,但我想知道我是否可以让它工作得更好、更快,因为当插入~n = 100000000或更大的内容时,需要一些时间来进行计算和打印结果。 我想过如何通过对n结果进行中值运算来更好地逼近它,但考虑到我的算法对大数的运算速度太慢,我决定不这样做。 基本上,问题是:如何才能使此函数更快地工作? 以下是我到目前为止得到的代码: ..
发布时间:2022-05-09 23:52:27 C/C++开发

从IPersistMoniker加载无法解析的URL需要很长时间

我正在通过IPersistMonikerLoad方法加载本地磁盘驱动器_test.htm文件。据我所知,它应该将路径添加到相对URL作为基本路径。问题是--它并没有这么做。相反,尝试解析来自Internet的路径需要很长时间,直到它放弃(大约20-30秒)。我想要的是,一旦检测到无法求解的路径(因为它无论如何都是本地磁盘文件),立即放弃。 这是我正在加载的示例HTML: ..
发布时间:2022-05-09 23:41:03 C/C++开发

在代码块中安装C++库

我需要在代码块中运行一些涉及YAML-CPP和cvode库的代码。我试图安装库并链接到编译器(我想这就是我所做的),但似乎不起作用。我还尝试将库包含在目录中,并使用: 打开 #include "yaml-cpp/yaml.h" 但我不断收到错误,指出目录中没有这样的文件。我还必须更改所有h文件中的目录,我觉得这不是我应该做的。但是,如果我将其保留为 #include ..
发布时间:2022-05-08 22:20:58 C/C++开发

使用GDB调试英特尔C++编译代码

我正在尝试调试用英特尔C++编译的C++代码。 我试过非常小的测试程序。我使用“/Zi”选项进行了编译,我看到生成了*.pdb文件,但gdb没有显示任何调试符号。连我都不能中断main()函数。 在论坛中,人们提到了英特尔的“IDB”调试器。但我没有在我的安装区找到它。我在一台计算机上安装了Intel Composer版本,在另一台计算机上安装了Professional Addition。这 ..
发布时间:2022-05-08 21:01:40 C/C++开发

如何在C++中区分高性能和低性能内核/线程?

在谈到多线程时,线程似乎经常被视为平等--与主线程相同,但在它旁边运行。 然而,在一些新的处理器上,如Apple "M" series和即将推出的英特尔Alder Lake系列,并非所有线程都具有同等的性能,因为这些芯片具有单独的高性能内核和高效率、较慢的内核。 这并不是说现在还没有超线程之类的东西,但这似乎具有更大的性能影响。 有没有办法查询std::thread的属性并强制执 ..
发布时间:2022-05-08 19:53:43 C/C++开发