⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 elftool.cpp

📁 内存管理工具Exmap。该工具比 ps 或 top 更精确
💻 CPP
字号:
#include <iostream>#include <string>#include "Elf.hpp"#include "jutil.hpp"static bool show_elf_file(const std::string &fname);static void show_segs(const std::list<Elf::SegmentPtr> &segs,	std::ostream &os);using namespace std;using namespace jutil;using namespace Elf;int main(int argc, char **argv){    if (argc < 2) {	warn << "Insufficent number of arguements\n";	return -1;    }    string fname(argv[1]);    if (!show_elf_file(fname)) {	warn << "Can't display elf file: " << fname << "\n";	return -1;    }    return 0;}static bool show_elf_file(const std::string &fname){    Elf::File elf_file;    if (!elf_file.load(fname)) {	warn << "Can't load file: " << fname << "\n";	return false;    }    show_segs(elf_file.loadable_segments(), cout);    return true;}static void show_segs(const std::list<SegmentPtr> &segs, ostream &os){    list<SegmentPtr>::const_iterator it;    for (it = segs.begin(); it != segs.end(); ++it) {	const SegmentPtr &seg = *it;	os << "SEG: MEM " << seg->mem_range()->to_string()	    << " ELF " << seg->file_range()->to_string()	    << " OFFSET " << seg->offset()	    << "\n";    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -