c - 将 argv 给定的内存地址分配给 c 中的指针
问题描述
我在 C 中有一个函数,它获取一个指针并打印它的反汇编代码。
void print_dis(void *addr) {
print_dis(addr);
}
一切正常,但现在我想从命令行将此内存地址作为 argv 传递。
如何传递内存地址并将其分配给指针,使其运行如下:
my_prog 0x1234567890abcd
并且 print_dis 将把这个地址作为 addr
解决方案
如果我误解了你的问题,请原谅我,但你能拿指针并使用printf("%p", ptr);
. 或者,如果您的意思是让您的程序写入另一个程序的标准输入,您可以使用例如 linux 管道。
您也可以从 argv 获取 char* 地址的值reinterpret_cast<WhateverType>(source);
推荐阅读
- typo3 - TYPO3 extbase 域模型中的虚拟属性?
- python - 查找与给定向量相似的所有向量的快速方法
- sql-server - SQL Server 代理在为表启用 CDC 时停止
- php - 如何正确地将表情符号从 php Web 应用程序传递到 Oracle db
- programming-languages - 结构化编程的应用
- kotlin - 改造 给 kotlin.KotlinNullPointerException
- angular - Angular Guard CanLoad 单元测试
- python - Django:获取models.py中所有相关对象的列表
- ios - 触发动作时,mockNavigationController 返回当前 viewController,不推送
- r - 按字符匹配和字符串长度分组