我想在main()之前執行用戶定義函數。 可以在c中的main()
之前執行一個函數嗎?主要執行任何函數
sum(int a, int b) { return (a+b); }
g_sum = sum(1, 5);
main(){
sum(5, 6);
printf("%d", g_sum);
}
我想在main()之前執行用戶定義函數。 可以在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 ++編譯器,然後可以通過使用__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;
}
在C++中,相當好。你使用什麼編譯器?使用'GCC',你可以使用__attribute __((構造函數))做一些事情' – starrify
你的代碼不會編譯......你不能在文件級別擁有語句或表達式。 –