草庐IT

windows - 如何将 .asm 文件汇编并链接到 Win32 可执行文件?

我的系统上安装了NASM和Dev-Cpp。Dev-cpp随LD(GNU链接器)一起提供。我不熟悉汇编代码和从汇编文件创建32位Windows可执行文件的过程。我试过使用这个:nasm-fwin32ass.asmnasm-oassass.o我没有成功使用这些命令来创建可执行文件。汇编(使用NASM)和链接以生成将在32位Windows上运行的可执行文件的正确方法是什么? 最佳答案 您的一条评论(似乎已不复存在)确实提到您在Windows上安装了Dev-Cpp。如果您的路径上有Dev-CppMinGWbin目录,则GNU链接器LD可供您

windows - Winsock Kernel的 "WskSendTo"函数在Win7 SP1上导致 "DRIVER_IRQL_NOT_LESS_OR_EQUAL"BSOD

我正在开发一个名为Npcap的Windows数据包捕获软件。并且它需要发送基于Windows内核的环回原始IP套接字。但是WskSocket->Dispatch->WskSendTo总是导致DRIVER_IRQL_NOT_LESS_OR_EQUALWin7SP1上的蓝屏。奇怪的是,我的代码不会在Win8、Win10等其他系统上触发此BSoD。它只发生在Win7。所以我什至怀疑这是Windows本身的错误还是只是我的错误?谢谢!重现步骤为:安装Npcap0.07r17使用默认选项安装Nmap7.20Beta5(不要安装随附的Npcap)在CMD中,运行nmap-v-O-6localhos

windows - docker 和 OpenEdge 11.7.2

我已经成功地使用response.ini文件在Docker容器中安装ProgressOpenEdge11.632位、11.732位和11.7.132位。但是,我找不到让11.7.232位工作的方法,这让人非常沮丧。在容器内使用proadsv-query或proadsv-start或proadsv-stop时,我收到标准的“OpenEdgeRelease+[时间戳这里]'消息,仅此而已。我认为这个问题可能与Java路径有关,但我不确定。注意:我有一台装有Windows的主机,我尝试在其中安装OpenEdge11.7.2的容器中也有WindowsCore。我查看了Bronco先生在他的gi

c++ - 在 Win32 中从字符串中解析日期

我有一个包含日期的字符串,另一个字符串包含第一个字符串的日期格式。有没有我可以调用的函数将该日期转换为类似SYSTEMTIME结构的东西?基本上,我想要GetDateFormat()的反义词. 最佳答案 它的功能与您描述的不完全相同,但我将从使用COleDateTime::ParseDateTime开始。它适用于本地化的日期时间格式。 关于c++-在Win32中从字符串中解析日期,我们在StackOverflow上找到一个类似的问题: https://stac

windows - 您如何允许 MDI 应用程序中的窗口离开其带有 Win32 的父容器?

我有一个MDI应用程序。我想在子窗口的非客户端标题栏上添加一个图标,允许窗口独立于父MDI容器float,允许用户使用子窗口并将它们任意放置在桌面周围,在MDI之外窗口。我已经看到它完成了,所以我知道这是可能的,但我很难弄清楚如何完成它。我使用的是WTL(Windows模板库),但我将其标记为MFC和Win32,因为我相信基本原则是相同的,而且人们可能了解WindowsAPI的各个方面。 最佳答案 我已经有一段时间没有这样做了,但我认为调用SetParent(your_hwnd,0)让窗口脱离其父窗口就足够了。消息传递会稍微改变,因

c++ - boost::interprocess_mutex 与 Win32 native 互斥锁的性能如何?

请注意,我可以在boost源代码中进行研究,如果没有人提供答案,我可能会这样做来回答我自己的好奇心。但是我确实会问,因为也许有人已经做过这种比较并且可以权威地回答?似乎在进程之间创建一个共享内存映射文件,并通过使用InterlockedIncrement()构造,可以创建一个类似于CRITICAL_SECTION的主要用户模式互斥体,它在进程间同步方面比Win32Mutex性能要好得多。所以我的期望是,boost::interprocess_mutex的Win32实现可能会以这种方式实现,并且比本地API产品快得多。不过我只是有一个假设,我不知道通过现场测试boost::interpr

c# - 在 C#/VB.NET 或 C++ Win32 中启用/禁用 Aero

如何在C#.NET或C++Win32中禁用aero效果???这是我在C/C++中的测试代码,但只有在我的应用程序运行时才有效#includeintmain(){DwmEnableComposition(DWM_EC_DISABLECOMPOSITION);while(true);//...return0;}//LINKdwmapi.lib谢谢编辑:我想通了#include#includeintWINAPIWinMain(HINSTANCEhI,HINSTANCEhP,PSTRstr,intc){DwmEnableComposition(DWM_EC_DISABLECOMPOSITION

c - dlmalloc 在 Win7 上崩溃

一段时间以来,我一直很高兴地使用dlmalloc对于跨平台项目(Windows、MacOSX、Ubuntu)。然而,最近似乎使用dlmalloc会导致Windows7上的退出时崩溃。为了确保它在我的项目中不是什么愚蠢的东西,我创建了一个super最小的测试程序——它除了从main返回之外什么都不做。一个版本(“malloctest”)链接到dlmalloc,而另一个(“regulartest”)则没有。在WinXP上,两者都运行良好。在Windows7上,malloctest崩溃。您可以看到测试的截屏视频here.我的问题是:为什么会这样?它是dlmalloc中的错误吗?还是Windo

从 XP 切换到 WIN2K 时出现 Java 异常

我有一个应用程序将JNI用于DLL中的某些native函数。该应用程序在WindowsXP上运行正常,但是当我在Window2000上运行该程序时,我收到以下信息:java.lang.UnsatisfiedLinkError:C:\ProgramFiles\Compunetix\stixDlls\CMSCIDll.dll:Thespecifiedprocedurecouldnotbefoundatjava.lang.ClassLoader$NativeLibrary.load(NativeMethod)atjava.lang.ClassLoader.loadLibrary0(Unkno

c - 应用程序登录纯 win32 项目

在网络开发中,我有自己的框架,它使用日志文件来帮助我进行开发并监控错误或生产。这个web框架几乎总是在*nix上运行,使用简单的纯文本作为日志文件、logrotate和tail。今天我正在创建一个win32应用程序,它将充当TCP/IP服务器(这是一个桌面应用程序,但嵌入了一些服务),我需要记录事件以便知道什么时候出现问题(在生产和开发中),在我创建它时进行调试)。我记得MFC,我有TRACE宏。这对开发调试来说很好。纯win32开发有TRACE之类的吗?对于生产日志,事件日志记录的最佳方法是什么?Windows事件日志或简单的纯文本文件?如何在Windows中旋转它?谢谢,丹尼尔·科