草庐IT

创建 16 位应用程序?

我想创建一个16位Dos应用程序并希望它在我的32位Windows7机器上使用NTVDM.exe运行。我该怎么做?我基本上希望我的应用程序通过NTVDM执行文件操作,为此我认为我首先需要一个16位应用程序,还有其他方法吗?我不需要模拟器,我需要创建一个16位应用 最佳答案 声称支持16位(MS-DOS和Win16)的几个免费C/C++编译器是DigitalMarscompiler和OpenWatcomCompiler.OpenWatcom网页目前没有响应...有一个SourceForgedownload页面。

我认为 Ruby UTF-16 编码

我有一个在Windows上运行的Ruby程序,它使用Open3调用一个shell命令(已知输出UTF-16):attrs={}attrs[:stdout],attrs[:stderr],status=Open3.capture3(command)unlessattrs[:stderr].nil?beginattrs[:stderr].force_encoding(Encoding::UTF_16LE).encode!(Encoding::UTF_8)rescue=>eattrs[:stderr]=attrs[:stderr].bytes.to_json.encode!(Encoding

c++ - 在VS2010中调试C++程序

我有两个C++程序让我们说“test1”和“test2”二进制文件使用VS2010在Windows中构建。我的逻辑是“test1”启动“test2”。现在我想在test1启动时通过“test2”逐步调试,所以我在test2的程序中保留断点并构建调试二进制文件。现在我开始发布版本的“test1”并且正如预期的那样启动了test2(注意我没有发布版本的test2构建)所以我们知道只有调试版本被启动。但是当test2开始时,我希望在断点处停止,但它并没有停止。当我从VSIDE启动test2的调试版本时,它在断点处停止。当test2被test1启动时,我们如何调试呢?我们如何在Windows中

c++ - Windows 使用带有 UTF-16 的 char * 函数

我将一个应用程序从Linux移植到Windows。在Linux上我使用libmagic在Windows上我不乐意从中删除的库。问题是我需要将以UTF-16编码保存的文件名传递给这样的函数:intmagic_load(magic_tcookie,constchar*filename);不幸的是,它只接受constchar*filename。我的第一个想法是将UTF-16字符串转换为本地编码,但存在一些问题-比如字符串可以包含例如中文符号和本地编码可能是俄语。结果我们将在输出中得到垃圾,程序将无法达到其目标。转换为UTF-8也无济于事,因为这是Windows,Windows以UTF-16格

windows - 16 位程序是否在 32 位操作系统上以虚拟 8086 模式运行?

我想确认几件事。我正在为8086编写汇编语言程序。我正在使用masm611汇编器进行组装。如果我在32位窗口的命令提示符下运行和调试808616位实模式程序,它是否使用和修改实际的cpu寄存器和内存?windows32bit下程序运行在virtualmode86吗?此外,如果我使用PWBMicrosoftProgrammers’Workbench中的CodeView调试器调试程序,如下所示:PWB请确认CodeView调试器中的寄存器和内存值是否是硬件中的实际值并且正在变化。此外,当我在PWB中运行程序时,它使用32位Windows下的实际硬件。 最佳答案

windows - 在 Windows PowerShell 中运行 VS 2017 构建工具

我不喜欢IDE,所以我安装了VS2017构建工具,这样我就可以通过命令行工作了。安装很顺利,在WindowsCMD下一切正常,但是,PowerShell要好得多,而且我更喜欢使用PS。这里的问题是根据MSDN:TheVisualC++command-linetoolsusethePATH,TMP,INCLUDE,LIB,andLIBPATHenvironmentvariables,andmayalsousetool-specificenvironmentvariables.Becausethevaluesoftheseenvironmentvariablesarespecifictoy

c# - 辅助功能 : Managed vs Unmanaged code

我即将开始为Windows(针对XP到7)开发辅助功能项目,并希望就使用托管代码与非托管代码的优缺点提供一些建议。基本上,该软件需要能够从打开的窗口中读取文本、访问菜单,以及JAWS或其他屏幕阅读器等程序能够执行的其他常用功能。问题是,我可以使用C#执行此操作还是需要使用C++?在过去的两年里,我一直在开发大量C#代码,因此看来最快的入门方法是使用System.Windows.Automation命名空间。另一方面,我已经有一段时间没有做过太多C++或COM编程了,在使用非托管代码之前必须花一些时间来刷新。将C#代码用于辅助功能软件有哪些限制?它们是否严重到足以证明我有理由投入大量时间

c++ - 图像从 24 bpp 格式转换为 16 bpp 格式

我有一张图像,即使用WindowsGDI调用(24bpp)绘制的图像,我需要将此图像转换为16bpp。这是在WindowsMobile上。24bpp-RGB(rrrrrrrrggggggggbbbbbbbb)16bpp-RGB(rrrrrggggggbbbbb)为此我使用下面的代码for(intx=0;x>3|(*iPixel&0x001F0000)>>5;}代码工作正常,但性能不是很好,因为我是逐像素修改的。您能否就此转换提出任何可能的改进建议?提前致谢 最佳答案 您的代码不完整;您不显示指针的类型或如何递增它们。您对每个像素执行

c++ - 如何使用 C++ 在 Windows 上写入和读取 UTF 16 文件

SO上有很多关于此的问题,但大多数都没有提到将wstring写回文件。例如,我发现这个是为了阅读://openasabytestreamstd::wifstreamfin("/testutf16.txt",std::ios::binary);//applyBOM-sensitiveUTF-16facetfin.imbue(std::locale(fin.getloc(),newstd::codecvt_utf16));//readstd::wstringws;for(wchar_tc;fin.get(c);){std::cout我尝试过类似的写作方式:std::wofstreamwof

c++ - 在 C++ 中将 UTF8 字符串转换为 UTF16 字符串

我正在使用VC6.0。我的项目是用Unicode编译的。我正在使用zlib1.1.3来扩充包含我的UTF-8字符串的文件。我以ASCII格式获取它,但我保证它全部是英文的,因此我可以将其作为UTF8字符串关联(可以吗?)。我已经使用了Codeproject中建议的函数如下:WCHAR*SMUUTF8toUTF16(LPCSTRutf8,int*pLen){WCHAR*ptr=NULL;*pLen=MultiByteToWideChar(CP_UTF8,0,utf8,-1,NULL,0);if(*pLen>1){ptr=(WCHAR*)malloc(*pLen);if(ptr){Mult