externvoid_exit(registerint);int_start(){&am"/> externvoid_exit(registerint);int_start(){&am">

Maison  >  Article  >  développement back-end  >  Comment écrire un code C en cours d’exécution sans la fonction main() ?

Comment écrire un code C en cours d’exécution sans la fonction main() ?

PHPz
PHPzavant
2023-09-07 16:25:02990parcourir

Comment écrire un code C en cours d’exécution sans la fonction main() ?

Ici, nous verrons, un programme peut-il être écrit sans fonction principale ? La réponse est oui. Nous pouvons écrire un programme sans la fonction main().

Dans de nombreux endroits, nous voyons que main() est le point d'entrée pour l'exécution du programme. Du point de vue d'un programmeur, c'est correct. Mais d’un point de vue systémique, ce n’est pas vrai. Ainsi, le système appelle d'abord la fonction _start() pour configurer l'environnement, puis appelle la fonction principale.

Pour exécuter ce programme, nous devons utiliser l'option "-nostartfiles".

Exemple

#include <stdio.h>
extern void _exit(register int);
int _start() {
   printf("Program without main</p><p>");
      _exit(0);
}

Sortie

soumyadeep@soumyadeep-VirtualBox:~/Cpp_progs$ gcc test_prog.c -nostartfiles
soumyadeep@soumyadeep-VirtualBox:~/Cpp_progs$ ./a.out
Program without main
soumyadeep@soumyadeep-VirtualBox:~/Cpp_progs$

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer