gcc编译器参数使用及解决

时间:2023-01-29 14:56:39

gcc -c CStringAndPointer.c -o CStringAndPointer.o

执行时出现问题:

./CStringAndPointer.o

bash: ./CStringAndPointer.o: 权限不够

查看文件属性

ll CStringAndPointer.o

-rw-r--r-- 1 root root 1624 2014-05-2909:36 CStringAndPointer.o

修改权限:

chmod 744 CStringAndPointer.o

再次执行仍然问题:

./CStringAndPointer.o

bash: ./CStringAndPointer.o:无法执行二进制文件

使用file filename查看文件格式

fileCStringAndPointer.o

CStringAndPointer.o: ELF 64-bit LSBrelocatable, x86-64, version 1 (SYSV), not stripped

删除CStringAndPointer.o后,重新编译文件

gcc -oCStringAndPointer CStringAndPointer.c

第三次执行文件,成功

./CStringAndPointer   成功

所有操作都是在自己定义的目录底下。

分析:gcc编译器的参数使用不当造成,-c,只编译,不连接成为可执行文件,编译器只是由输入的.c等源代码文件生成.o为后缀的目标文件,通常用于编译不包含主程序的子程序文件