Art*_*yle 4 c c++ pointers function-pointers
有没有办法在C或C++中找到main()的地址?既然它本身就是一个功能,它会有自己的地址吗?
Lig*_*ica 15
当然.只需继续做吧.
#include <stdio.h>
int main(void)
{
printf("%p\n", &main);
}
Run Code Online (Sandbox Code Playgroud)
不允许携带main地址,因此,为了您的目的,没有一个地址:
[C++11: 3.6.1/3]:函数main不得在程序中使用.[..]
但是,在GCC中,您可以采用与C相同的方法,通过编译器扩展:
#include <iostream>
int main()
{
std::cout << (void*)&main << '\n';
}
Run Code Online (Sandbox Code Playgroud)
您将收到一条不符合要求的警告.