Tag: 入口点

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

GDB无法插入断点,无法访问地址XXX的内存?

我写了一个非常简单的程序: ebrahim@ebrahim:~/test$ cat main.c int main() { int i = 0; return i; } 我用-s编译剥离模式: ebrahim@ebrahim:~/test$ gcc -s main.c -o f3 ebrahim@ebrahim:~/test$ file f3 f3: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=4dc6b893fbae8b418ca41ddeef948df1fcb26d3d, stripped 现在,我正在尝试使用GDB找出主函数起始地址: ebrahim@ebrahim:~/test$ gdb -nh f3 GNU gdb (Ubuntu 7.11.90.20161005-0ubuntu2) 7.11.90.20161005-git Copyright (C) […]

是否有一个GCC编译器/链接器选项来更改main的名称?

我的软件有一个主要用于正常使用,另一个用于unit testing。 如果gcc有一个选项来指定使用哪个“主要”function,我会喜欢它。

避免C程序中的主(入口点)

是否可以避免C程序中的入口点(主)。 在下面的代码中,是否可以调用func()调用而无需通过以下程序中的main()调用? 如果是,如何做,何时需要,为什么要给出这样的规定? int func(void) { printf(“This is func \n”); return 0; } int main(void) { printf(“This is main \n”); return 0; }