在main之前执行任何功能

sut*_*tha 2 c

我想在main()之前执行用户定义函数.可以main()在c 之前执行一个函数吗?

sum(int a, int b) {   return (a+b); }

g_sum = sum(1, 5);

main(){
  sum(5, 6);
  printf("%d", g_sum);
}
Run Code Online (Sandbox Code Playgroud)

Rah*_*thi 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;
}
Run Code Online (Sandbox Code Playgroud)

  • 谢谢Rahul.真的行. (2认同)