您的位置:首页 > 编程语言 > C语言/C++

c/c++ 入口函数

2012-10-16 11:32 99 查看
之所以大多数程序的“入口”是 main,是因为连接器缺省会连接一个叫 crt0.o 或者 crt0.lib 之类的库,这个库才是一个程序真正的入口,这个真正的入口作了一段初始化之后将控制权交给 main。大多数情况下用户程序不会自己初始化这些东西,所以缺省连接这个库。

如果你自己完成这部分初始化,完全可以抛弃 main。

main 不是程序的入口,只不过是一个普通的符号而已。

以前有个帖子是关于如何让valgrind支持线程

隐约记得里头用到了一个gcc特有的宏

该宏可以使一个函数在main之前就执行

#include <stdio.h>

#include <string.h>

void foo() __attribute__ ((constructor));

int main()

{

return 0;

}

void foo()

{

printf("Hello from %s\n", __FUNCTION__);

}

C++修改入口函数名Main的方法

方法1

// 通过下面这句话将入口函数改成fn.

#pragma comment(linker, "/entry:fn")

#include <iostream>

int fn(void)

{

std::cout << "Hello world!" << std::endl;

return 0;

}

方法2:

项目"属性页"-->"配置属性"-->"链接器"-->"高级"-->"入口点"

加入你想要的入口函数名.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: