C 在main之前执行任何函数
我想在main()之前执行user define函数。 是否可以在c中的C 在main之前执行任何函数,c,C,我想在main()之前执行user define函数。 是否可以在c中的main()之前执行函数 sum(int a, int b) { return (a+b); } g_sum = sum(1, 5); main(){ sum(5, 6); printf("%d", g_sum); } 是否可以在main()之前执行函数 是的,如果您使用的是gcc和g++编译器,则可以使用\uuuuu属性\uuuuu((构造函数)) 示例: #include <stdio.h>
main()
之前执行函数
sum(int a, int b) { return (a+b); }
g_sum = sum(1, 5);
main(){
sum(5, 6);
printf("%d", g_sum);
}
是否可以在main()之前执行函数
是的,如果您使用的是gcc和g++编译器,则可以使用\uuuuu属性\uuuuu((构造函数))
示例:
#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;
}
#包括
void beforeMain(void)_属性__((构造函数));
失效前失效(失效)
{
printf(“\n在main之前”);
}
int main()
{
printf(“\n这是我的主\n”);
返回0;
}
在C++
中,这将非常好。你用什么编译器?使用GCC
您可以使用\uuuuu属性(构造函数))
您的代码不会编译。。。文件级不能有语句或表达式。谢谢Rahul。这真的很有效。@sutirtha:-不客气!只是好奇,在什么情况下我们需要这个功能?@SagarKotecha:-我现在不太确定确切的情况,但它就像C运行时一样,在执行二进制文件时为操作系统提供了一个执行入口点。该入口点运行特定于编译器实现的代码。初始化代码将被相应地设置,然后调用main()函数(如果提供了任何命令行参数)。在调用main()之前执行的C运行时之外的任何其他代码都是C语言(或编译器提供的C语言扩展)之外的机制。