gpt4 book ai didi

windows - 使用 Windows DDK 编译时出错

转载 作者:可可西里 更新时间:2023-11-01 11:15:18 27 4
gpt4 key购买 nike

请原谅我是 Windows DDK 的新手。

我创建了一个名为 test.cpp 的简单文件:

#include <windows.h>

#define BAD_ADDRESS 0xBAADF00D

int __cdecl main(int argc, char* args[])
{
char* p =(char*)BAD_ADDRESS;
*p='A';
return 0;
}

在同一目录中,我创建了一个 sources 文件,如下所示:

TARGETNAME=testTARGETTYPE=PROGRAMTARGETPATH=objTARGETLIBS=$(SDK_LIB_PATH)\kernel32.lib SOURCES= test.cpp

还有一个像这样的makefile:

## DO NOT EDIT THIS FILE!!!  Edit .\sources. if you want to add a new source# file to this component.  This file merely indirects to the real make file# that is shared by all the components of Windows#!INCLUDE $(NTMAKEENV)\makefile.def

启动 Windows XP 免费构建环境后,我浏览到包含三个文件(test.cpp、makefile 和源代码)的目录并运行以下命令:

F:\temp\debug\dir1>build -cZg

哪些输出:

BUILD: Adding /Y to COPYCMD so xcopy ops won't hang.BUILD: Using 2 child processesBUILD: Object root set to: ==> objfre_wxp_x86BUILD: Compile and Link for i386BUILD: Examining f:\temp\debug\dir1 directory for files to compile.BUILD: Compiling (NoSync) f:\temp\debug\dir1 directory1>Compiling - test.cpp for i386BUILD: Compiling  f:\temp\debug\dir1 directoryBUILD: Linking f:\temp\debug\dir1 directory1>Linking Executable - objfre_wxp_x86\i386\test.exe for i386BUILD: Done    2 files compiled    1 executable built

问题是,当我运行创建的可执行文件 test.exe 时,它说:

F:\temp\debug\dir1\objfre_wxp_x86\i386>testThe F:\temp\debug\dir1\objfre_wxp_x86\i386\test.exe application cannot be run in Win32 mode.

我在这里错过了什么?

最佳答案

您编译的是“ native 应用程序”而不是 win32 应用程序。 TARGET_TYPE 定义对此进行控制。

参见“Inside Native Applications” ' 讨论使用 DDK 生成 native 应用程序。

关于windows - 使用 Windows DDK 编译时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/226790/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com