转载地址:http://blog.chinaunix.net/uid-21948941-id-3205757.html
最近有朋友问了我一个问题,就是用gcc编译C程序时出现了:出错syntax error: word unexpected (expecting ")"),花了一点时间,去找问题所在,今天总结一下。
代码如下,即文件c_cuiyue.c。点击(此处)折叠或打开
- #include<stdio.h>
- main()
-
{
- int a[]={1,2,3};
- int i;
- for(i=0;i<3;i++)
- printf("%d\n",a[i]);
- }
这个问题是对gcc选项的不理解导致的,可以查看一下gcc的选项的参数
( -c 编译、汇编到目标代码,不进行链接).
另处,我们可以通过查看gcc编译时加入-c选项生成的文件和不加此选项生成的文件的属性,可以用file命令查看,他们分别有如下区别:
ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, not stripped
ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), not stripped
对于此问题,需加强基础。