gpt4 book ai didi

c++ - DUMPBIN 不显示所有功能

转载 作者:行者123 更新时间:2023-11-27 23:48:31 25 4
gpt4 key购买 nike

我在以下程序中使用了 Microsoft Visual C++ 的 DUMPBIN 实用程序。我确定 remove 的调用最终会从 kernel32.dll 调用 DeleteFileW 的 Microsoft 系统调用(我用另一个确认了这个调用工具)。那么,为什么当我在以下程序的 .EXE 上应用 DUMPBIN/imports 时,我没有看到 DeleteFileW 系统调用?

如何使用 DUMPBIN 查看 DeleteFileW 的系统调用?

谢谢,吉拉德

#include "stdafx.h"
#include <iostream>
#include <chrono>
#include <thread>

using namespace std;

int main()
{
const char* fileName = "gilad.txt";

this_thread::sleep_for(chrono::milliseconds(10*1000));

if (remove(fileName) != 0)
cout << "Remove operation failed" << endl;
else
cout << *fileName << " has been removed." << endl;
return 0;
}

最佳答案

您的代码不调用 DeleteFileW,它调用 remove。大概来自 msvcrt.dll。是的,之后 msvcrt.dll 会为您调用 DeleteFileW,但该部分不会出现在您的可执行文件中。

(dumpbin 只处理单个文件,它不跟踪其他文件的依赖关系)

How do I see the system call of "DeleteFileW" in DUMPBIN output?

您必须在实际引用 DeleteFileW 的文件上运行 dumpbin。这不是上面的代码,而是您可以使用 WinAPI 创建的另一个代码,或者只是作为实验,在 msvcrt.dll 上运行它。

关于c++ - DUMPBIN 不显示所有功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48600150/

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