首页 > 解决方案 > 将 argv 给定的内存地址分配给 c 中的指针

问题描述

我在 C 中有一个函数,它获取一个指针并打印它的反汇编代码。

void print_dis(void *addr) {
    print_dis(addr);
}

一切正常,但现在我想从命令行将此内存地址作为 argv 传递。

如何传递内存地址并将其分配给指针,使其运行如下:

my_prog 0x1234567890abcd

并且 print_dis 将把这个地址作为 addr

标签: cpointersmemoryargv

解决方案


如果我误解了你的问题,请原谅我,但你能拿指针并使用printf("%p", ptr);. 或者,如果您的意思是让您的程序写入另一个程序的标准输入,您可以使用例如 linux 管道。

您也可以从 argv 获取 char* 地址的值reinterpret_cast<WhateverType>(source);


推荐阅读