草庐IT

C++ 查找指针错误

我目前正在从事一个问题已久的项目,现在我怀疑,除其他外,代码中存在指针错误。该程序使用COM以nativeC++编写,并使用进程外COM服务器。谁能给我一些提示,告诉我如何找到这些错误?有没有什么具体的事情要记住,方法等等... 最佳答案 我有几个建议:你是怎么发现指针错误的?你为什么不把它放在调试器中,然后看看程序崩溃的地方?那将是一个开始。监视有问题的变量。是什么让您认为代码的COM部分有问题?相反,我想这里有2个进程在运行(可能在同一台机器上,也可能不在同一台机器上),您应该并行运行这些进程,然后看看它们如何相互响应——我很确

c++ - 在 Windows 中构建 gstreamer 插件所需的环境

为了在Windows上构建gstreamer插件(songbird插件需要),我已经努力了两周。我已经安装了MSYS、MinGW和Cygwin,然后安装了GStreamerOSSBuild,我还下载了Songbird的源代码,它们带有自己的gstreamer预编译版本。我无法从songbird源运行gst-inspect(或任何其他gstreamer应用程序),我想我将满足于OSSBuild(因为我能够从编译的OSSBuild运行gst-inspect)。按照构建GST插件(foundhere)的说明进行操作时,cygwin将无法识别OSSBuild,并且在运行autogen时构建失败

c++ - 将 dword 的 void* 表示形式转换为 wstring

我星期一很蠢,所以我很抱歉发布这样一个像新手一样的问题。我正在使用CRegKey.QueryValue从注册表返回一个双字值。QueryValue将值写入void*pData,将长度写入ULONG*pnBytes。现在有一种方法可以通过stringstream将它从pData获取到wstring。我最接近的是得到十六进制字符串的结果。我正准备将十六进制表示形式转换为双字,然后从那里转换为wstring,当我认为这很愚蠢并在这里提问而不是在这个问题上浪费我生命中的另一个小时。 最佳答案 为什么不使用CRegKey::QueryDWOR

c - 哪个套接字,clientSocket = accept() 或 listen(socket),你设置了 sockopt SO_KEEPALIVE?

哪个套接字,clientSocket=accept()或listen(socket),您将sockoptSO_KEEPALIVE设置在哪个套接字上以使与客户端的连接不断开? 最佳答案 在每个接受的套接字上设置选项似乎是最可靠和可移植的。跨accept的非阻塞模式继承在不同实现之间是不一致的,SO_KEEPALIVE对监听套接字没有任何意义。 关于c-哪个套接字,clientSocket=accept()或listen(socket),你设置了sockoptSO_KEEPALIVE?,我们

c++ - 如何使用 C++ 将 Windows 系统时钟设置为正确的本地时间?

现在我做这样的事情:SYSTEMTIMEst;st.wHour=6;st.wMinute=23;BOOLresult=SetSystemTime(&st);目标是让它在我的本地机器上显示准确的时间。当我运行该程序时,它会将它更改为8:23而不是6:23。我怎样才能让它显示正确的本地时间? 最佳答案 SetSystemTime()期望提供的时间为UTC。如果您想使用本地时间设置时间,请使用SetLocalTime(). 关于c++-如何使用C++将Windows系统时钟设置为正确的本地时间

c - 应用程序是否可以从另一个应用程序获取窗口的所有权?

基本上,我有两个按顺序运行的应用程序(第二个由第一个启动,第一个紧接着退出。)我想将第一个应用程序创建的窗口的所有权传递给第二个应用程序。窗口的实际内容不需要传递,它只是由DirectX绘制。或者,但不太理想的是,是否可以至少禁用窗口关闭/打开动画,这样至少看起来达到了预期的效果?(这是在C中,使用vanillaWin32API。) 最佳答案 创建一个DLL,而不是单独的应用程序,它将由第一个应用程序加载并在其中运行。 关于c-应用程序是否可以从另一个应用程序获取窗口的所有权?,我们在S

c++ - 为什么我的 visual studio 2k8 C++ 项目不能使用 unicode 字符?

我正在尝试让unicode在vi​​sualstudio2k8项目中的Windows上运行,但我不确定为什么我无法让我的项目运行。我的机器安装了所有东方语言支持。我去了properties->projectdefaults->characterset:并将其设置为“使用Unicode字符集”。这是我的测试代码:#include#include#defineARAB"گـگـگگلـلـلل"#defineCHINESE"大夨天太夫"#defineVALUECHINESE#defineLARABL"گـگـگگلـلـلل"#defineLCHINESEL"大夨天太夫"#defineLV

c++ - 确定来自不同设备的输入

我的电脑有两个像键盘一样工作的设备,普通键盘和一个HID(HumanI接口(interface)Device)输入设备(这是一个Remote)。我想将输入与键盘和Remote分开,只捕获Remote。我如何用C/C++编写程序来完成这项任务?这不是一件容易的事,因为这个程序依赖于操作系统。我需要它用于Windows,但如果有人知道如何在Linux上使用它,我也将不胜感激。 最佳答案 在WindowsXP和更高版本上,您可以使用原始输入设备消息。首先调用RegisterRawInputDevices()API函数为“键盘”启用原始输入

c++ - 接收整个 UDP 数据包

我正在用C++为Windows编写一个UDP代理应用程序,它使用Winsock发送和接收UDP数据包。问题是我需要处理整个数据包,而不仅仅是数据和UDP和/或IPheader。我已经尝试使用IP_HDRINCL的原始套接字(可能拼写错误),但它仍然从数据包中删除了一些信息。如果在winsock中不可能,是否有某种库或其他东西可以让我完成此任务? 最佳答案 用于接收数据包,WinPCAP将使您完成所有这些以及更多操作,并且有示例代码here它显示了如何捕获到达接口(interface)的所有数据包。

c++ - 如何在 MS Windows 中使用 C++ 将快捷方式发送到另一个应用程序?

我的问题是如何将快捷方式从C++发送到另一个应用程序。假设记事本已打开,我想向他们发送CTRL+P等快捷方式,或更复杂的CTRL+SHIFT+HOME或ALT+F4等快捷方式,我发现许多很好的教程解释了如何发送一个键像'A'或'ALT',但我没有找到如何将它们一起发送。 最佳答案 您可以使用SendInput()或keybd_event()将键发送到当前聚焦的窗口。SendInput()可能是更好的选择,因为它不会将键盘事件与实际键盘的事件交织在一起。//sendCTRL+SHIFT+HOMEINPUTinput[6];memset