在main之前执行任何功能

时间:2014-02-21 05:18:15

标签: c

我想在main()之前执行用户定义函数。 是否可以在c?

main()之前执行一个函数
sum(int a, int b) {   return (a+b); }

g_sum = sum(1, 5);

main(){
  sum(5, 6);
  printf("%d", g_sum);
}

1 个答案:

答案 0 :(得分:6)

  

是否可以在main()

之前执行一个函数

是的,如果您使用的是gcc和g ++编译器,那么可以使用__attribute__((constructor))

来完成

示例:

#include <stdio.h>

void beforeMain (void) __attribute__((constructor));

void beforeMain (void)
{
  printf ("\nThis is before main\n");
}

int main ()
{
 printf ("\nThis is my main \n");
 return 0;
}