Quantcast
Channel: Active questions tagged gcc - Stack Overflow
Viewing all articles
Browse latest Browse all 22113

Compiling without main function (MacOS)

$
0
0

So I am trying to compile ,link and run a program without the main function.This is the code:

#include <stdio.h> 
#include <stdlib.h>


int my_main() 
{ 
      printf("Hello world!\n"); 
          return 0; 

} 

void _start() 
{  
      exit(my_main()); 

} 

Tried to compile with the command : gcc -nostartfiles nomain.c . While it does compile and produces the a.out file on a Debian vm, I am unable to compile it in my macOS Catalina v10.15.2. I am using the latest version of gcc. The message I am receiving when trying to compile is :

Undefined symbols for architecture x86_64: "_main", referenced from: implicit entry/start for main executable ld: symbol(s) not found for architecture x86_64 collect2: error: ld returned 1 exit status

So far I have tried to change _start to start but still getting the same result. As I understand the compilation process is different depending on the OS.

Note: There is no problem I am trying to solve here , just curiosity.

Thank you in advance


Viewing all articles
Browse latest Browse all 22113

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>