草庐IT

windows - 变量中的 utf8 字符串转换无效

这里的效果是消息文本是正确的希腊字母,但消息标题都是空框,有时其他文本有中文字符。stringmsg="έναμήνυμα";MessageBoxW(null,"έναμήνυμα",cast(wchar*)msg.toStringz,MB_ICONERROR); 最佳答案 您需要使用toUTF16z(来自std.utf)将string转换为LPCWSTR而不是强制转换时:MessageBoxW(null,"έναμήνυμα",toUTF16z(msg),MB_ICONERROR);您不需要对字符串文字做任何事情,因为编译器会通过

windows - D: Windows 上的 executeShell 运行另一个不立即返回的程序

我使用D作为Windows7控制台内容的脚本语言来自动执行无聊的任务。我的一个脚本(open.exe)应该允许我从命令行打开东西,而不必指定我使用的程序(我有一个包含这些东西的配置文件)。现在,我使用executeShell来执行此操作,并调用类似start[我要使用的程序名称][输入文件名称]之类的东西。如果我直接从shell执行此操作,它会立即返回,但如果我使用我的D脚本执行此操作,它直到它打开的程序关闭后才会返回。我应该怎么做才能让它立即返回?出于引用目的,这是我的脚本的业务逻辑(主要方法只是为了管道目的进行一些参数解析):immutablepath="some//path//g

windows - 代码段描述符中的 D 标志对 x86-64 指令有何作用?

当在x86-64代码中使用时,我试图了解代码段描述符中D标志的工作原理。它设置在代码段描述符的D/B位22中,如下图所示:英特尔文档(来自3.4.5SegmentDescriptors部分)陈述如下:D/B(defaultoperationsize/defaultstackpointersizeand/orupperbound)flagPerformsdifferentfunctionsdependingonwhetherthesegmentdescriptorisanexecutablecodesegment,anexpand-downdatasegment,orastacksegm

c++ - 从 Windows 二进制文件中删除 msvcp90d.dll 依赖项

我有一个我分发的dll,它不能在某些Windows操作系统上运行。使用dependancywalker我发现这些系统上缺少msvcp90d.dll。我不想要任何需要C++可再发行组件的运行时依赖项,并且由于调用DLL的应用程序不是用C++编写的,因此它对C++可再发行组件没有任何依赖性。我猜我在编译dll时在链接器首选项中留下了DEBUG选项,这就是它需要msvcp90d.dll的原因?添加:抱歉,我在原来的问题中粘贴了错误的dll名称……在显示器前的时间太长了……这个dll是我在VS2008编译的第三方dll,不是我写的。 最佳答案

windows - ac-dcd 自动完成不适用于开箱即用的配音包

在Windows上使用GNUEmacs24.4。即使对于“空项目”也无法获得vibe.d包的自动完成,只需在AppData/Roaming/dub中使用vibe.d进行“dubinit”。std的自动补全效果很好!(在$HOME/dcd.conf中的dcd.conf文件之后)。 最佳答案 您必须编辑您的dcd.conf文件并添加包含一些*.d源的vibe存储库的每个文件夹:核心加密数据等...然后重启DCD-server。 关于windows-ac-dcd自动完成不适用于开箱即用的配音包

windows - 如何编译要从 DMD 链接的 msvc 静态库?

我一直在花费大量时间尝试为开源C库构建D绑定(bind)。我正在使用msvc将C构建为静态.lib,但DMD无法识别.lib文件,这似乎是与COFF/OMF不兼容相关的问题。编译与OMF兼容的C库以从D链接的最简单方法是什么? 最佳答案 将头文件移植到具有匹配函数签名和extern(C)的.di文件中。然后将其用作import目标。您可以使用htodtool帮助解决这个问题。参见http://dlang.org/spec/interfaceToC.html 关于windows-如何编译要

python:无法从 Windows 上的 os.execl'd python 脚本中删除打开的文件

考虑delfoo.py及其伙伴lol.py:#----delfoo.py-----importosos.unlink("foo.txt")#----lol.py----importos,sysf=open("foo.txt","w")f.write("HI")#notclosingfonpurpose!os.execl(sys.executable,sys.executable,"delfoo.py")print"Ifthislineshows,thensomethingisbroken."调用pythonlol.py产生(注意最后一行没有打印):C:\tmp>pythonlol.py

windows - 为什么 D 不允许嵌套函数重载?

我使用嵌套函数将我的代码分成小块,但是当我需要扩展一个函数以支持不同类型的参数时,我得到了一个重新声明的编译错误:declarationXisalreadydefiend这是D的设计者(如果是,为什么?)还是他们没有实现的此类功能之一只是因为“使用太少”?重现错误的代码示例:voidfoo(){intbaa(inta){returna*2;}intbaa(inta,intb){returna+b;}} 最佳答案 您将找到所有详细信息并跟踪进度https://issues.dlang.org/show_bug.cgi?id=12578

windows - Sublime Text 3(windows) 中的边界敏感 Ctrl+D

我对maček有相同的要求我在这里借用了maček的例子:我的代码pic1:我选择es的第一个实例并看到这个(使用光标选择)pic2:完美!但是,当我点击ctrl+D几次时,它最终会选择这个pic3:泰兰的回答是Ifyouputyourcursor(caret)onthewordbutnotselectitandthenpressCmd+ditisgoingtoselectlikein2ndimage.相当困惑。在Windows中,在sublime中总是有一个输入光标(一条闪烁的垂直线,可能称为插入符号),无需选择任何类型ctrl+D会选择输入光标附近的字符。无法得到pic2的结果

windows - ntdll_77bc0000 或 ntdll_772d0000 在 Wow64 调用堆栈中意味着什么

我有WOW64崩溃转储,其中包含调用堆栈信息,例如:0018fb0077c06a8b0018fbc80018ffc40018fc18ntdll_77bc0000!ExecuteHandler2+0x26或喜欢:0018fb0077c06a8b0018fbc80018ffc40018fc18ntdll_772d0000!ExecuteHandler2+0x26ntdll_772d0000好像是一个dll的名字,但是我在C:\Windows\SysWOW64中没有看到,我也很好奇为什么在同一台机器上会有不同的名字,比如ntdll_77bc0000和ntdll_772d0000。谢谢。