草庐IT

代码优化

全部标签

windows - 有没有一种简单的方法可以从嵌套的批处理脚本中捕获错误代码 (%errorlevel%)?

我有一个嵌套的批处理脚本,我希望它的错误代码渗透到调用它的主批处理脚本。我试过了exit/b%errorlevel%但是变量没有返回。调用的批处理脚本中的ECHO'ing%errorlevel%给我103,但主批处理脚本中的ECHO'ing%errorlevel%(执行方面的下一行)给我0。这个问题之前已经在SO上问过,但没有一个帖子对我有用。编辑:由于写得不好,我修改了我的问题,并添加了代码供您查看。这是主要的批处理文件。除非我将条件更改为0以外的其他内容,否则这里的if语句永远不会被命中:callBuildInstaller.cmd%SourceDir%%TargetDir%%Pr

windows - 如何检测 UTF8 文本的等效 Windows 代码页

我有一个在WindowsXP上运行的打印/邮件系统,它不支持在邮件列表中使用UTF8。我想将邮件列表的代码页转换为适当的Windowsnative等效项。但据我所知,它并不是一刀切的,并且代码页会根据语言环境而有所不同,例如匈牙利、希腊、瑞典、德国、俄罗斯等。更不用说繁体中文等等了。有没有一种方法可以检测,比如对于一条记录,其中不应需要多个代码页,合适的Windows代码页是什么? 最佳答案 我能想到的最简单的想法:对于所有支持的代码页列表中的每个代码页X:取原始Unicode文本将其转换为代码页X。将其转换回来。检查是否有任何变化

windows - 当用户点击退出时执行批处理代码

我正在进行一些代码测试,我偶然发现了一个我无法找到或修复的问题。我的问题是:如果用户不小心关闭了cmd窗口,我想在它实际关闭之前执行批处理代码。例如:我运行脚本A.bat。当用户想要退出时,我希望它删除我的B.bat然后关闭窗口。代码可能如下所示:@ECHOOFFechoWelcometoA.batdelB.bat(whenuserexitsthewindow)我在谷歌和论坛上找不到它,所以我想也许你们可以帮助我。提前致谢,尼尔斯 最佳答案 这对我有用:@ECHOOFFif"%1"equ"Restarted"goto%1start"

c++ - 如何将退出代码从 Ada 进程返回到调用 Windows 进程?

我需要将WindowsC++程序连接到旧版GNATAda程序。Windows程序将遗留的Ada程序生成为一个单独的进程,然后等待它返回。我可以将Ada主程序编写为返回整数的函数。我可以在Window中看到,我可以通过调用WaitForSingleObject()等待进程完成,并且我可以调用GetExitCodeProcess()-但这些似乎都不是告诉我Ada程序返回了什么——我说得对吗?返回值似乎是调用本身是否返回错误,而不是被调用的进程。我应该查看进程信息句柄还是类似的东西?谁能告诉我如何将Ada程序的返回值返回给调用Windows程序? 最佳答案

windows - Windows 10 上的 GHC -fhpc 代码覆盖率

我正在尝试检查我的美味单元测试的代码覆盖率。我找到了一种方法intheGHCdocsuserguideforhpc.问题是ghc-fhpcMyfile.hs不会生成.hpc子目录或任何.tix文件,正如文档所声称的那样去做。随后,我无法运行hpcreport。我错过了什么?这在Windows上不起作用吗? 最佳答案 显然,删除所有*.hi和*.o文件,强制编译器重新编译,是可行的。我真的认为编译器应该注意到这个标志,并且一些文件丢失了。https://ghc.haskell.org/trac/ghc/ticket/11798

c++ - Wndproc 处理事件代码少

我想知道是否有一种方法可以缩短这段代码,是否有办法制作一个#define来缩短我在消息开关中执行if语句的方式。我检查我是否已经设置了一个函数,如果有我就调用它这只是我的wndproc的一部分,它要大得多LRESULTBase::WindowProc(HWNDhwnd,UINTuMsg,WPARAMwParam,LPARAMlParam){switch(uMsg){caseWM_CREATE:{if(this->onCreate!=NULL){if(onCreate(hwnd,(LPCREATESTRUCT)lParam))return1;}}break;caseWM_DESTROY:

python - 在cython代码中加入print语句影响输出

我有一个结合使用Python和Cython编写的应用程序。我最近为此应用程序添加了一项新功能和测试。测试在我的本地机器(一台macbook)上通过了,但是当我推送到appveyor(一个WindowsCI服务)时,测试失败了。这本身并不奇怪。当我将打印语句添加到我的Cython代码以试图查看它在appveyor上运行时发生了什么时,测试不再失败。这令人沮丧,因为它让我无法弄清楚当appveyor上的测试失败时发生了什么。它也很令人困惑,因为它违反了我对Python和Cython一般工作方式的理解。我的代码很复杂,我没有合理的方式来分享这种现象的例子。但是,我正在寻找可能发生这种情况的原

windows - C99 代码在 Linux 上编译,在 Windows 上语法错误

我有一个C99代码库,可以在Linux上使用GCC和Clang完美编译和运行;然而,在MinGW-w64(通过MSYS2安装)上,它会给出如下错误include/math3d.h:Infunction'matPerspective':include/math3d.h:577:1:error:parameternameomittedmatPerspective(floaty_fov,floataspect,floatnear,floatfar)^~~~~~~~~~~~~~include/math3d.h:577:1:error:parameternameomittedinclude/ma

Python:用于下载有效 .zip 文件的跨平台代码

我需要从网站下载并解压缩文件。这是我正在使用的代码:#!/usr/bin/python#geoipFolder=r'/my/folder/path/'#Mac/LinuxfolderpathgeoipFolder=r'D:\my\folder\path\'#WindowsfolderpathgeoipFolder=geoipFolder[:-1]#workaroundforWindowsescapingtrailingquotegeoipName='GeoIPCountryWhois'geoipURL='http://geolite.maxmind.com/download/geoip

c++ - 从 Matlab 运行 exe 代码。在 cmd (dos) 中工作的完全相同的指令在 Matlab 中失败

这让我发疯,我必须承认。在终于能够成功编译我需要处理语音文件的两个函数之后,从我从一个值得信赖的在线存储库下载的C/C++代码(代码已经在Linux中经过彻底测试),我现在正在努力从Matlab启动这些文件...当我在cmd(dos)中键入以下命令时分析b2.wavconfig_default它有效,没问题(参见此处Works)。然后,我将完全相同的命令构建到一个字符串中,并将其提供给“系统”Matlab函数。然后代码崩溃了...(请参阅此处Fails)我已经尝试使用完整路径(c:\b2.wav等)但仍然无法正常工作...关于为什么会发生这种情况有什么想法吗?