gcc编译器参数使用及解决

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为后缀的目标文件,通常用于编译不包含主程序的子程序文件

如果有一天我们淹没在茫茫人海中,庸碌一生,那一定是我们没有努力活得丰盛
原文地址:https://www.cnblogs.com/xiachj/p/3792283.html