C 中 main() 之前和之后执行的函数

server side programmingprogrammingc

在这里我们将看到如何编写包含两个函数的代码,其中一个函数将在 main 函数之前执行,另一个函数将在 main 函数之后执行。这些功能用于在执行 main 之前执行一些启动任务,并在执行 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.

相关文章