Dev-C++ 和 Detours 编译错误

     2023-02-22     256

关键词:

【中文标题】Dev-C++ 和 Detours 编译错误【英文标题】:Dev-C++ and Detours compiling error 【发布时间】:2010-06-05 15:14:58 【问题描述】:

正如标题所说,我正在尝试使用 Detours 使用 Dev-C++ 编译一个简单的 DLL,但出现此错误:

syntax error before token '&'

在这行:

DetourAttach(&(PVOID &)trueMessageBox, hookedMessageBox)
DetourDetach(&(PVOID &)trueMessageBox, hookedMessageBox)

完整的代码是

#include <windows.h>
#include <detours.h>

#pragma comment( lib, "Ws2_32.lib" )
#pragma comment( lib, "detours.lib" )
#pragma comment( lib, "detoured.lib" )


int (WINAPI * trueMessageBox)(HWND hWnd, LPCSTR lpText, LPCSTR lpCaption, UINT uType) = MessageBox;
int WINAPI hookedMessageBox(HWND hWnd, LPCSTR lpText, LPCSTR lpCaption, UINT uType)

    LPCSTR lpNewCaption = "You've been hijacked";
    int iReturn = trueMessageBox(hWnd, lpText, lpNewCaption, uType);
    return  iReturn;


BOOL WINAPI DllMain( HINSTANCE, DWORD dwReason, LPVOID ) 
    switch ( dwReason ) 
        case DLL_PROCESS_ATTACH:           
                DetourTransactionBegin();
                DetourUpdateThread( GetCurrentThread() );
                DetourAttach(&(PVOID &)trueMessageBox, hookedMessageBox)
                DetourTransactionCommit();
                break;

        case DLL_PROCESS_DETACH:
                DetourTransactionBegin();
                DetourUpdateThread( GetCurrentThread() );
                DetourDetach(&(PVOID &)trueMessageBox, hookedMessageBox)
                DetourTransactionCommit(); 
                break;
    

    return TRUE;

【问题讨论】:

包含是好的,但我不知道如何在此处显示 导致它被剥离。 你必须写 >和 <,或者使用
 标签 :)
不,不要使用前置标签,使用正确的标记。编辑器中有一个按钮可以为您执行此操作(突出显示代码,按下按钮),或者您可以手动将每行缩进四个空格。 你可以从抛弃 Dev-C++ 开始。说真的,为什么人们认为使用 5 年未维护的 IDE(即使它被维护也很糟糕)是一个好主意?有几个 的免费 IDE 可用。为什么你要使用only从未真正起作用的那个? Code::Blocks 的新主要版本刚刚问世 - 在各方面都优于 DevC++ - 请参阅 codeblocks.org。 【参考方案1】:

这些行上没有分号。

不知道走弯路,我打算查询 typecast 到 PVOID &amp;,这看起来很奇怪 - 但网上有几个例子,所以看起来很合理。

【讨论】:

【参考方案2】:

不应该是LPVOID而不是PVOID吗?

【讨论】:

它没有回答问题,它没有解决问题,它应该是一个评论,它完全没有必要,因为现在LPVOID和PVOID是一回事。但仍然 > -1... 虚拟投票。

Bloodshed Dev-C++ 编译器错误 *二叉树

】BloodshedDev-C++编译器错误*二叉树【英文标题】:BloodshedDev-C++compilererrors*BinaryTrees【发布时间】:2012-09-1515:29:14【问题描述】:请对我的代码提供反馈。这是一个学校的作业,我们被要求编写一个交换左右二叉树的函数。我们的... 查看详情

C++ Detours 3.0 express on MVS 2012 错误“找不到标识符”

】C++Detours3.0expressonMVS2012错误“找不到标识符”【英文标题】:C++Detours3.0expressonMVS2012error"identifiernotfound"【发布时间】:2013-04-1511:03:59【问题描述】:我的编译器:MicrosoftVisualStudio2012。我的代码在detours2.1上可以正常工作... 查看详情

Dev-C++和xcode编译器的不同输出[重复]

】Dev-C++和xcode编译器的不同输出[重复]【英文标题】:differentoutputwithDev-C++andxcodecompiler[duplicate]【发布时间】:2013-04-0106:18:29【问题描述】:当我编译以下代码时,它会在不同的环境中给出不同的输出。inta=4;a=++a+++a;printf("%d",a);在... 查看详情

使用 Microsoft Detours - 一堆未定义的

】使用MicrosoftDetours-一堆未定义的【英文标题】:UsingMicrosoftDetours-bunchofundefined\'s【发布时间】:2010-11-0809:24:43【问题描述】:我尝试在google上搜索编译器错误,但它甚至没有返回搜索结果。所以,我在这里有点迷路了。我刚刚... 查看详情

dev-c++5.11安装教程

...序​​​​2.安装类型​​​​3.安装完成​​​​三、编译器配置​​​​1.打开软件​​​​2.新建源码​​​​3.编译运行​​​​4.编译错误修正​​​​5.字体设置​​一、下载1.介绍原公司Bloodshed已经停止开发Dev-C++了,... 查看详情

构建 32 位 Detours 库

】构建32位Detours库【英文标题】:Building32-bitDetourslibrary【发布时间】:2010-09-1515:55:35【问题描述】:我正在使用Microsoft的Detours库,并且我使用的是32位版本(免费)。我现在正在安装Windows7的64位,我似乎无法使用nmake编译Detours... 查看详情

DEV-C++ 不再显示任何可用的编译器

】DEV-C++不再显示任何可用的编译器【英文标题】:DEV-C++isnotdisplayinganyavailablecompilersanymore【发布时间】:2020-06-1417:53:28【问题描述】:昨天我想解决我遇到的格式标识符%Lf的问题,然后继续向Dev-C++添加标志:-std=c11和-D__USE_MINGW_A... 查看详情

Dev-C++(实际上是 WxDev-C++ 7.4.2.569 - 项目检查器和编译器日志不显示

】Dev-C++(实际上是WxDev-C++7.4.2.569-项目检查器和编译器日志不显示【英文标题】:Dev-C++(actuallyWxDev-C++7.4.2.569-ProjectInspectorandCompilerlogdoesntshow【发布时间】:2020-01-2520:16:52【问题描述】:我找不到答案。当我的项目检查器、类浏览... 查看详情

MS Detours - DetourAttach 失败

】MSDetours-DetourAttach失败【英文标题】:MSDetours-DetourAttachfails【发布时间】:2019-05-2513:44:01【问题描述】:在这里感觉很愚蠢,但为什么这段代码在Visual中给我一个语法错误Studio什么时候尝试编译它?DetourAttach(&(PVOID&)true_cre... 查看详情

关于 Dev-C++ 中位的整数类型

...时间】:2013-07-1420:56:39【问题描述】:我正在使用Dev-C++编译器和wxDev-C++编译器,同时阅读C++PrimerPlus来学习编程语言。我这本书对整数类型的字面解释如下:短整数至少为16位宽。一个int整数位于至少和短一样大。长整数至少为32... 查看详情

Dev C ++中的编译错误错误[重复]

】DevC++中的编译错误错误[重复]【英文标题】:CompileErrorErrorinDevC++[duplicate]【发布时间】:2012-07-2512:45:25【问题描述】:可能重复:devc++compilererror我用Dev-C++编写了一个相当简单的Windows应用程序(实际上是Dev-C++默认项目模板)。... 查看详情

无法在 dev-c++ 上编译程序?

】无法在dev-c++上编译程序?【英文标题】:unabletocompileprogramondev-c++?【发布时间】:2018-09-1504:11:18【问题描述】:下载新版本解决了我的问题,感谢您的帮助。我无法编译我的程序,我不知道为什么?我已经很难找到为什么会发... 查看详情

为啥 Dev-C++ 不运行我的程序

...问题描述】:我正在学习Cpp编程,我正在使用Dev-C++作为编译器。我做了这个例子来看看类和对象在这种编程语言中是如何工作的,但问题是编译器甚至不运行代码!代码如下:#include<iostream>usingnamespacest 查看详情

使用 Dev-C++ 编译自创头文件时出现问题?

】使用Dev-C++编译自创头文件时出现问题?【英文标题】:Problemcompilingself-createdheaderfileusingDev-C++?【发布时间】:2010-12-0110:14:11【问题描述】:我在windowsvista上使用Dev-C++。我有3个文件位于同一目录中。它们是:-math_functions.h-math_f... 查看详情

dev-c++ g++ - 错误:类型名/静态常量未声明(首先使用此函数)[关闭]

】dev-c++g++-错误:类型名/静态常量未声明(首先使用此函数)[关闭]【英文标题】:dev-c++g++-error:typename/staticconstantundeclared(firstusethisfunction)[closed]【发布时间】:2012-11-3001:11:15【问题描述】:我不断收到以下关于typenameposizione和int... 查看详情

Dev-C++ 保存具有相似名称的源文件?

...-09-1415:15:28【问题描述】:我是C++新手,我正在使用Dev-C++编译器来学习我的编码,但我在保存源文件时遇到了一些问题。如果我保存一个与第一个名称相似的源文件,它总是在我编译和运行它时执行第一个。例如,如果我将第一... 查看详情

dev-c++中c语言的文件编译的时候自动生成makefile.win文件而且编译报错。(代码片段)

问题描述:DEV-C++中c语言的文件编译的时候自动生成了一个makefile.win的文件而且编译器在该文件中报错,显示的error为:[Error]ldreturned1exitstatus原因分析:解决方案:关闭makefile.win,完善函数后,代... 查看详情

dev-c++安装和使用教程(手把手傻瓜式教学)

...安装以及基本使用方法觉得Dev-C++是一款小巧方便的编译器,就给那些刚刚学习编程的同学讲一下这个软件的安装和基本的编译以及一些使用的技巧。(完全是傻瓜式的截图和教程,内容过于冗余,主要是考... 查看详情