C/C++开发

如何在 C++11 中终止线程?

我不需要正确终止线程,或者让它响应“终止"命令.我有兴趣使用纯 C++11 强行终止线程. 解决方案 您可以从任何线程调用 std::terminate() 并且您所指的线程将强制结束. 你可以安排 ~thread() 在目标线程的对象上执行,无需介入 join() 或 detach() 在那个对象上.这将具有与选项 1 相同的效果. 你可以设计一个异常,它有一个抛出异常的 ..
发布时间:2021-12-06 11:13:15 C/C++开发

QPSQL 驱动未加载 Qt

我在添加数据库时遇到了一些麻烦. _dataBase = QSqlDatabase::addDatabase("QPSQL"); 调用此方法后出现错误: QSqlDatabase:未加载 QPSQL 驱动程序QSqlDatabase:可用驱动程序:QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7 我包括到 PATH 变量路径: Postg ..
发布时间:2021-12-05 22:04:09 C/C++开发

Qt Creator - 项目错误:Xcode 设置不正确.您可能需要通过运行/usr/bin/xcodebuild 来确认许可协议

我刚刚安装了 Qt 5.5 并且第一次在 OS X 上使用 Qt Creator.当我第一次安装 Qt 时,它给了我一条错误消息“Xcode 5 not installed",我认为这很奇怪,(我有 Xcode7 测试版),但安装还是成功完成. 现在,当我开始或打开一个项目时,出现错误: 项目错误:Xcode 设置不正确.您可能需要通过运行/usr/bin/xcodebuild 来确认 ..
发布时间:2021-12-05 20:51:42 C/C++开发

代码在 g++ 中运行完美,但在 Xcode 中却不是 - 找不到文件

我创建了一个包含内容的文本文件.它与 cpp 文件位于同一文件夹中.我已经多次确认该文件存在.当我运行 g++ 时,编译并运行它会找到该文件.当我在 Xcode 中运行它时,它不起作用.如果找不到文件. #include #include #include 使用命名空间标准;int主(){字符串线;ifstream myfile ("example.txt");如果 (myfi ..
发布时间:2021-12-05 20:50:19 C/C++开发

我可以在 Xcode 中使用 C++11 吗?

我正在考虑在一些跨平台项目(Windows+Mac)中使用一些 C++11 特性(例如 auto).在 Windows 上,Visual Studio 支持即将推出的 C++11 标准的部分内容,这将使我能够简化部分代码库,因此我自然会对开始使用这些功能感兴趣. 但据我所知,当前的 XCode 版本(3.2.4 + GCC 4.2)根本不支持任何 C++11 功能.我可以以某种方式升级 GC ..
发布时间:2021-12-05 20:15:14 C/C++开发

如何正确更换全球新&删除操作符

首先,至少有 4-5 个主题与 SO 上的主题相似.我阅读了其中的每一个,但我觉得它们并没有真正帮助我解决这个特定问题.如果其他人发现重复的问题,我深表歉意.在发布此内容之前,我已经完成了我的搜索,因为这似乎是一个非常常见的问题. 我在 Windows 7 上使用 Visual Studio .NET 2003. 我有自己的 new/delete 重载,指向我自己对 malloc() ..
发布时间:2021-12-05 19:48:03 C/C++开发

Intel HD 3000 上正确的 OpenGL 初始化是什么?

我在 Toshiba 笔记本(OS Win7 x32,lang C++)上使用 Intel graphics HD 3000 有问题. 经典的单上下文 OpenGL 应用程序工作正常,但在单个应用程序中的多个 OpenGL 上下文上会产生奇怪的行为: 在我的旧版本应用中,英特尔驱动程序根本无法创建第二个渲染上下文. 在我的基于 OpenGL 的软件架构行为发生重大变化后 现 ..
发布时间:2021-12-05 19:44:36 C/C++开发

在没有管理员权限的情况下从应用程序启动 Windows 服务 (c++)

我编写了一个 Windows 服务(并且运行良好).现在我有一个单独的应用程序,我想从中启动此服务,但如果没有管理员权限,这似乎是不可能的. 用户可以启动/停止服务(例如从托盘或应用程序)的正确解决方案是怎样的 恕我直言,应用程序必须始终以管理员权限启动是不好的. 解决方案 您只需要更改服务对象的权限,最好在安装的同时更改. wchar_t sddl[] = L"D:"L"( ..
发布时间:2021-12-05 19:44:28 C/C++开发

崩溃时如何为我的进程创建小型转储?

我无法通过更改系统设置从我的进程中创建小型转储.所以我的问题是: 当用户进程崩溃时,系统会为它创建一个小型转储 如果是,我需要配置哪些设置 或者我必须以编程方式创建小型转储. 小型转储在调查崩溃时的效果如何 我使用的是 Windows XP、C++、VC6 解决方案 您需要以编程方式创建小型转储(有一个例外,请参阅下一个链接).CodeProject 有一篇不 ..
发布时间:2021-12-05 19:42:32 C/C++开发

Windows 7 计时功能 - 如何正确使用 GetSystemTimeAdjustment?

我在 Windows 7 上使用 GetSystemTimeAdjustment 函数运行了一些测试,得到了一些我无法解释的有趣结果.据我所知,如果系统时间是定期同步的,则此方法应该返回,如果是,则以哪个间隔和以哪个增量更新(参见 MSDN 上的 GetSystemTimeAdjustment 函数). 从这里我遵循,如果我查询系统时间,例如使用 GetSystemTimeAsFileTim ..
发布时间:2021-12-05 19:42:23 C/C++开发

Windows中的C++高精度时间测量

我对在 Windows 中使用 C++ 测量精确到纳秒的特定时间点很感兴趣.这可能吗?如果不是,是否可以至少以微秒为单位获得特定时间?任何库都应该这样做,除非我认为托管代码是可能的.谢谢 解决方案 如果您有一个线程应用程序在多核计算机上运行 QueryPerformanceCounter 可以(并将)根据代码的内核返回不同的值正在执行.请参阅这篇 MSDN 文章.(rdtsc 也有同样的问 ..
发布时间:2021-12-05 19:41:58 C/C++开发

如何在 Windows、Mac 和 Linux 上检测物理处理器/内核的数量

我有一个多线程 C++ 应用程序,可以在 Windows、Mac 和一些 Linux 版本上运行. 长话短说:为了让它以最高效率运行,我必须能够为每个物理处理器/内核实例化一个线程.创建比物理处理器/内核更多的线程会大大降低我的程序的性能.我已经可以在所有这三个平台上正确检测到逻辑处理器/内核的数量.为了能够正确检测物理处理器/内核的数量,我必须检测是否支持和激活超线程. 因此,我的问 ..
发布时间:2021-12-05 19:41:39 C/C++开发

MSVCP140.dll 丢失

我刚刚用 C++ 开发了我的第一个程序,我想和我的一个朋友展示它.可悲的是,当他尝试打开 exe 时,它​​收到一条错误消息,显示“MSVCP140.dll 丢失".为什么会出现这个问题,他/我该如何解决? 解决方案 要么让你的朋友下载运行时 DLL(@Kay 的回答),要么用静态链接编译应用程序. 在visual studio中,转到Project选项卡->属性 - >配置属性 - ..
发布时间:2021-12-05 19:41:06 C/C++开发

C++ 中的 WINMAIN 和 main()(扩展)

对了,我看过这个帖子:WinMain 的区别,C++中的main和DllMain 我现在知道 WINMAIN 用于窗口应用程序,而 main() 用于控制台.但是阅读这篇文章并没有真正告诉我为什么有什么区别. 我的意思是将不同的电源功能分开来启动程序有什么意义?是因为性能问题吗?或者是什么? 解决方案 关于功能. C 和 C++ 标准要求任何程序(对于“托管"C 或 C+ ..
发布时间:2021-12-05 19:39:17 C/C++开发

LPCSTR、LPCTSTR 和 LPTSTR

LPCSTR、LPCTSTR 和 LPTSTR 有什么区别? 为什么我们需要这样做将字符串转换为LV/_ITEM结构变量pszText: LV_DISPINFO dispinfo;dispinfo.item.pszText = LPTSTR((LPCTSTR)string); 解决方案 回答您问题的第一部分: LPCSTR 是一个指向 const 字符串的指针(LP 表示 Lon ..
发布时间:2021-12-05 19:38:55 C/C++开发

“WINAPI"是什么?在主函数中是什么意思?

你能解释一下 WinMain() 函数中的 WINAPI 词吗? 以最简单的方式.. #include int --> WINAPI 这只是一些 Windows 时髦模式吗? 它有什么作用?或者更确切地说,我还没有遇到过这个 C++ 特性是什么? 解决方案 WINAPI 是一个宏,其计算结果为 __stdcall,Microsoft 特定的关键字,指定被调用者清理堆栈的调用 ..
发布时间:2021-12-05 19:35:24 C/C++开发

如何从 Windows 注册表中读取值

给定某些注册表值的键(例如 HKEY_LOCAL_MACHINE\blah\blah\blah\foo),我该如何: 安全地确定存在这样的密钥. 以编程方式(即使用代码)获取其值. 我绝对无意将任何内容写回注册表(如果可以的话,在我的职业生涯中).因此,如果我错误地写入注册表,我们可以跳过关于我体内每个分子以光速爆炸的讲座. 更喜欢 C++ 中的答案,但大多数情况下只需要知道获 ..
发布时间:2021-12-05 19:33:21 C/C++开发

“X 未命名类型"C++ 中的错误

我有两个类声明如下: 类用户{民众:MyMessageBox dataMsgBox;};类 MyMessageBox{民众:void sendMessage(Message *msg, User *recvr);消息接收消息();矢量*数据消息列表;}; 当我尝试使用 gcc 编译它时,它给出了以下错误: MyMessageBox 没有命名类型 解决方案 当编译器编译类 User ..
发布时间:2021-12-05 19:32:34 C/C++开发

如何将 std::string 转换为 LPCSTR?

如何将 std::string 转换为 LPCSTR?另外,如何将 std::string 转换为 LPWSTR? 我完全对这些LPCSTR LPSTR LPWSTR 和LPCWSTR 感到困惑. LPWSTR 和 LPCWSTR 是一样的吗? 解决方案 str.c_str() 给你一个 const char *,它是一个 LPCSTR (Long Pointer to Con ..
发布时间:2021-12-05 19:27:50 C/C++开发