字符串常量的地址
我从汇编器到 C 中获取字符串的地址,并且我需要获取该地址的内容。 怎么做呢?谷歌提供了带有reinterpret_cast的C++示例,但它在C中不起作用(我想)。 如果您也注意到所需的库,我将不胜感激,tenx
#include <stdio.h>
#include <stdlib.h>
unsigned long const1(void);
int main()
{
printf("Const: %d\n", const1());
return 0;
}
I get an addres of string from assembler into C, and I need to get content of this address.
How to do it? Google gives C++ examples with reinterpret_cast, but it not working in C (I suppose).
I will appreciate if you will note needed libs too, tenx
#include <stdio.h>
#include <stdlib.h>
unsigned long const1(void);
int main()
{
printf("Const: %d\n", const1());
return 0;
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
如果您已经获得了地址并且知道它是一个以空字符结尾的字符串,那么您所需要做的就是将其视为字符串。
If you've already got the address and you know it's a null terminated string, then all you need to do is treat it like a string.
在等待您的信息时的初步答案:
此答案适用于嵌入式系统。如果您需要一个指向外围寄存器之类的指针,请使用 volatile 来避免编译器优化。
Preliminary answer while I wait for your info:
This answer is geared toward embedded systems. If you need a pointer to something like a peripheral register, use volatile to avoid compiler optimizations.
如果您知道字符串后面有一个带零的字节,请尝试以下操作:
如果字符串后面没有零,则 C 中的标准字符串函数将失败。
If you know there's a byte with zero in it after the string then try this:
If there's no zero following the string then the standard string functions in C will fail.