如何构建包含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