在 C 语言中在 main() 前后执行的函数


这里我们将学习如何编写一段代码,其中存在两个函数,并且一个函数将在主函数之前执行,而另一个函数将在主函数之后执行。这些特性可用于在执行主函数之前执行一些启动任务,以及在执行主函数之后执行一些清理任务。

要执行此任务,我们必须为这两个函数指定属性。当属性为构造函数属性时,它将在 main() 之前执行,而当属性为析构函数类型时,它将在 main() 之后执行。

示例代码

#include<stdio.h>
void before_main() __attribute__((constructor));
void after_main() __attribute__((destructor));
void before_main() {
   printf("This is executed before main.
"); } void after_main() {    printf("This is executed after main."); } main() {    printf("Inside main
"); }

输出

This is executed before main.
Inside main
This is executed after main.

更新于: 2019 年 7 月 30 日

3 千+次浏览

开启你的职业生涯

完成课程以获得认证

开始
广告