任务:获得可执行程序
1.使用gcc生成.o文件:
gcc -c CWE121_Stack_Based_Buffer_Overflow__CWE129_large_45.c
gcc -c io.c
2.将两个.o文件合并生成最终的文件:
gcc -o main CWE121_Stack_Based_Buffer_Overflow__CWE129_large_45.o io.o
使用上面的命令可能会出现这样的错误
/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crt1.o: In function `_start':
(.text+0x20): undefined reference to `main'
collect2: error: ld returned 1 exit status
但是其实我的第一个.C文件中是存在main函数的,并且书写方面不存在任何问题。这时候将命令增加一个选项,就能成功编译。
gcc -o main CWE121_Stack_Based_Buffer_Overflow__CWE129_large_45.o io.o -nostartfiles
获得了可执行程序,并被我命名为了main