草庐IT

C++标准

全部标签

c++ - wcsdup 分配的内存是否应该显式释放?

类似wcsdup的函数,隐式调用malloc为目标缓冲区分配内存。我想知道因为内存分配不是很明确,所以显式释放存储似乎合乎逻辑吗?这更像是一个设计困境,赞成和反对的理由如下应该被释放因为不释放它会导致内存泄漏。有据可查的是,wcsdup/_wcsdup调用malloc来分配内存,即使它是从C++程序调用的。不应被释放,因为wcsdup积累的内存最终会在程序退出时释放。在整个程序生命周期中,我们总是会遇到一些内存泄漏(除非我们大量调用wcsdup以获得较大的缓冲区大小)。它可能会造成混淆,因为free之前没有明确的malloc。由于它不是标准的一部分但符合posix,Microsoft实

c - Linux和Windows程序有何不同

Closed.Thisquestionneedstobemorefocused。它当前不接受答案。想改善这个问题吗?更新问题,使其仅关注editingthispost的一个问题。6年前关闭。Improvethisquestion我在GCC中编译了一个小的“HelloWorld”程序,并在Linux中工作。然后,我在程序中添加了.exe扩展名,以查看它是否与Windows兼容。但这没有用。是什么原因导致该程序无法在Windows中运行。基本上,二进制和汇编指令与在Windows和linux下编译的程序相同(如果未使用特定于操作系统的库)。操作系统只需将程序加载到RAM中,处理器就会执行该

c - 使用 emscripten 找不到 Windows.h

我正在尝试在Windows上使用Emscripten转换javascript中的C库。我使用了教程here设置emscripten和LLVM/Clang开始。我用VisualStudio2010编译了LLVM,clang的版本是:clang版本3.2(tags/RELEASE_32/final)目标:i686-pc-win32线程模型:posix在命令行上,我写下这行来编译我的文件:C:\emscripten>pythonemcc-v\mypath\myfile.c这是我得到的输出和最终的错误(以及我寻求帮助的原因......)emcc:compilingtobitcodeemcc:c

windows - 是否可以调整/隐藏窗口标准对话框 ("choose file to upload"窗口)?

在网页上的文件输入元素中单击浏览按钮时弹出的“选择要上传的文件”窗口。是否可以使用ShowWindow等user32lib函数隐藏/调整此“选择要上传的文件”窗口的大小。我尝试通过提供句柄来使用ShowWindow“选择要上传的文件”窗口但它不起作用。可以在这个窗口上工作吗?如果是,我该怎么做? 最佳答案 作为替代方案,您可以尝试http://www.plupload.com/无需打开文件选择器窗口,而是使用HTML5或Flash上传。 关于windows-是否可以调整/隐藏窗口标准对话

c - 如何检查 CLI 程序是否正在等待来自标准输入的输入?

如何检查我刚刚使用CreateProcess()启动的CLI程序是否正在等待来自带有WindowsCAPI的标准输入的输入? 最佳答案 正如上面的一些评论所说,一旦程序已经开始等待,您就无法检查它是否正在等待stdin。您可以使用事件处理程序,或者您可以简单地从带有超时的标准输入读取,在发生超时时,您标记您正在等待输入并再次开始等待超时。 关于c-如何检查CLI程序是否正在等待来自标准输入的输入?,我们在StackOverflow上找到一个类似的问题: htt

在主进程中从标准输入进行阻塞读取时,Python 子进程阻塞

我有一个Python多处理应用程序,它使用多处理API启动“workers”。主进程本身由一个不是用Python编写的服务进程启动。工作人员可以自己使用subprocess.Popen启动其他非Python子进程。为清楚起见,这是整个流程层次结构:service.exe:服务进程(原生EXE)python.exe:Python主进程(下面的程序)python.exe:Python子进程(进程启动的任务函数)subprocess.exe:native子进程(见下面的解释)当服务进程停止时,它必须告诉Python进程退出。我为此使用标准输入。这样做的好处是,如果服务进程崩溃或被杀死,那么P

c# - 为什么重定向标准输入会导致 stdout 不打印到新的控制台进程?

所以我试图运行一个单独的程序,使用Process.Start().程序会偶尔暂停,等待输入。我希望能够通过标准输入向此进程发送信息。我试图理解使用Windows操作系统外壳创建新进程与重定向标准输入的影响之间的区别。ExeUseShellRedirectSTDINWINDOWDisplaysOutputDisplayscmd.exe/cprogramYNYYNNYYNYYNprogram.exeYNYYNNYYNYYN重要的信息是,如果我重定向标准输入,那么屏幕上不会显示任何数据。为什么会这样?通常program.exe应该写入其stdout文件描述符。我假设Process.Start

c++ - 在 Windows 上重定向标准输出/标准错误

我有一个WindowsGUI应用程序,它使用第三方库将调试/错误信息打印到stdout/stderr。我找到了许多将它们重定向到我的日志文件的解决方案。但是4个中只有1.5个按预期工作。我在WinXPSP332位上使用VS2008SP1。我没有包括错误处理,但没有调用返回错误。//Firstone:SetStdHandle(STD_OUTPUT_HANDLE,(HANDLE)_get_osfhandle(_fileno(log_file.get_FILE())));SetStdHandle(STD_ERROR_HANDLE,(HANDLE)_get_osfhandle(_fileno(

c++ - 如何正确地将命令行参数传递给 Windows 应用程序?

将命令行参数传递给Linux中的应用程序与exec*命令配合使用效果很好,您可以清楚地单独传递每个参数。如果想要控制标准管道,那么在Windows上使用相同的功能这样做不是一种选择。因为这些函数是基于CreateProcess()的,所以aresomeclearrules关于如何转义双引号等特殊字符。遗憾的是,这只有在被调用的应用程序通过main()、wmain()或CommandLineToArgvW()检索其命令行参数时才能正常工作。但是,如果被调用的应用程序通过WinMain()、wWinMain()、GetCommandLineA()或GetCommandLineW()获取这些

c - 当 DPI 设置为 150% 时关闭 Aero (Windows 7),全屏窗口仅覆盖任务栏

我有一个相当标准的C++程序,我在其中创建了一个全屏窗口(带有两个子窗口)。在我的Windows10开发计算机上,此窗口会填满整个屏幕并覆盖任务栏。在Windows7上,它不覆盖任务栏。经过一些试验,似乎如果我关闭Aero,程序将覆盖任务栏!我还创建了一个快速的C#/WPF应用程序,无论Aero的状态如何,该应用程序都能够覆盖任务栏。我是否缺少窗口消息或窗口的创建选项?这是定位和创建窗口的代码//Getahandletotheprimarymonitor,whichbydefinitionhasitstop//leftcornerat(0,0).constPOINTptZero={0,