c/c++语言开发共享如何构建包含Mac OS X入口点的C程序?

如何构建包含Mac OS X入口点的C程序?

我想建立:

start() { /* exit system call */ asm("movl $1,%eax;" "xorl %ebx,%ebx;" "int $0x80" ); } 

但是当我跑步时:

 gcc -nostdlib min.c 

我总是得到:

 ld: could not find entry point "start" (perhaps missing crt1.o) collect2: ld returned 1 exit status 

我只是为了看它正在做什么而做的另一个尝试是:

 gcc -nostdlib -c min.c && otool -tV min.o 

输出是:

 (__TEXT,__text) section _start: 0000000000000000 pushq %rbp 0000000000000001 movq %rsp,%rbp 0000000000000004 leave 0000000000000005 ret 

那么在“开始”function之前,那个下划线是从哪里来的呢? 我该如何防止这种情况发生? 或者更简单:

如何构建包含Mac OS X入口点的C程序?

谢谢,CrazyChenz

    当您希望入口点不是start时,gcc -e选项定义入口点。 这样您就可以在入口点创建mystart()。

     gcc -e mystart mycode.c -o mycode 

    我不知道如何在Xcode中设置-e选项。

      以上就是c/c++开发分享如何构建包含Mac OS X入口点的C程序?相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/c-cdevelopment/519396.html

      (0)
      上一篇 2020年12月5日
      下一篇 2020年12月5日

      精彩推荐