CentOS6.4(linux)下编写C程序(hello world)步骤及注意事项
2014-01-26 10:31
337 查看
程序员的开始总是从hello world开始的,这次在linux下编写c程序,也同样是从hello world开始。
我使用的是CentOS6.4。要编写c程序,gcc是必备的,emacs也是大部分人首选的。如果安装的是CentOS6.4的完整包,gcc和emacs已经带上了。
本以为是很容易就可以编写第一个hello world的,可是实际写的时候,发现代码是很快就OK了,但编译的时候遇到了各种问题。下面先来简述一下步骤。
1.启动emacs
右键->在终端中打开->输入emacs->回车。打开emacs,如下图。
2.新建helloworld
我建了一个helloworld的文件夹,然后在里面建了个hello.c的文件,再用emacs打开。当然这一过程也可以使用命令来完成。不过,界面操作相对简单,也不易出错。
输入了一段helloworld的代码,如下图
3.编译helloworld
(1)在emac中按下Alt+X,这时emac下方会显示如下画面
(2)在M-x 后面的光标中输入eshell->回车,弹出如下画面。
(3)输入gcc hello.c -o hello,按回车后编译,如果成功,将出现如下画面。
命令行进入新的一行,同时在hellowrold文件夹下多了一个hello的文件。
(4)执行hello。在命令行中输入./hello,按下回车,输出helloworld。如下图。
如果一切顺利,是应该这样的,但是我却没有那么顺利,中间遇到了几个问题,总结如下。
问题1:输出的文件不是hello
按照流程,在写了一段hello.c的代码后,就是gcc编译了,可是编译出的文件不是hello,而是a.out。后面发现,原来是少了-o的选项,就是gcc hello.c -o hello中的-o选项,这个-o表示指定输出的名字,如果不指定,系统会默认给出一个,这样对后续的操作不太友好。
问题2:在执行./hello时,提示权限不够
在用gcc编译出来后,虽然得到了hello,但是在执行./hello却提示权限不够,试了很多方法,还是权限不够。最后实在想不出更好的方法了,于是直接改了用户的权限为root权限,当然启用root来登陆也是可以的。只是我VM下用root用户登陆时,总会莫名其妙的出错,具体原因还有待进一步调查。后面就采用了提升当前用户权限的做法,如果不知怎么提升的,可以参见该文/article/8266739.html。
问题3:gcc hello.c编译进报错
在使用gcc hello.c时报错,提示没有main函数、没有printf函数等,后来查了下,说是要增加-c的选项,即gcc -c hello.c。这样是编译出来了,但是执行时又提示出错:不是可执行的二进制文件。后来我改了用户权限后再进来,再用gcc hello.c时就不再报错了。这个问题的原因还不清楚。
我使用的是CentOS6.4。要编写c程序,gcc是必备的,emacs也是大部分人首选的。如果安装的是CentOS6.4的完整包,gcc和emacs已经带上了。
本以为是很容易就可以编写第一个hello world的,可是实际写的时候,发现代码是很快就OK了,但编译的时候遇到了各种问题。下面先来简述一下步骤。
1.启动emacs
右键->在终端中打开->输入emacs->回车。打开emacs,如下图。
2.新建helloworld
我建了一个helloworld的文件夹,然后在里面建了个hello.c的文件,再用emacs打开。当然这一过程也可以使用命令来完成。不过,界面操作相对简单,也不易出错。
输入了一段helloworld的代码,如下图
3.编译helloworld
(1)在emac中按下Alt+X,这时emac下方会显示如下画面
(2)在M-x 后面的光标中输入eshell->回车,弹出如下画面。
(3)输入gcc hello.c -o hello,按回车后编译,如果成功,将出现如下画面。
命令行进入新的一行,同时在hellowrold文件夹下多了一个hello的文件。
(4)执行hello。在命令行中输入./hello,按下回车,输出helloworld。如下图。
如果一切顺利,是应该这样的,但是我却没有那么顺利,中间遇到了几个问题,总结如下。
问题1:输出的文件不是hello
按照流程,在写了一段hello.c的代码后,就是gcc编译了,可是编译出的文件不是hello,而是a.out。后面发现,原来是少了-o的选项,就是gcc hello.c -o hello中的-o选项,这个-o表示指定输出的名字,如果不指定,系统会默认给出一个,这样对后续的操作不太友好。
问题2:在执行./hello时,提示权限不够
在用gcc编译出来后,虽然得到了hello,但是在执行./hello却提示权限不够,试了很多方法,还是权限不够。最后实在想不出更好的方法了,于是直接改了用户的权限为root权限,当然启用root来登陆也是可以的。只是我VM下用root用户登陆时,总会莫名其妙的出错,具体原因还有待进一步调查。后面就采用了提升当前用户权限的做法,如果不知怎么提升的,可以参见该文/article/8266739.html。
问题3:gcc hello.c编译进报错
在使用gcc hello.c时报错,提示没有main函数、没有printf函数等,后来查了下,说是要增加-c的选项,即gcc -c hello.c。这样是编译出来了,但是执行时又提示出错:不是可执行的二进制文件。后来我改了用户权限后再进来,再用gcc hello.c时就不再报错了。这个问题的原因还不清楚。
相关文章推荐
- Linux下crontab命令的用法
- Linux修改安装时创建的分区名称
- linux中locate find 与 grep
- Linux From Scratch
- centOS 6.4 vsftpd 500 illegal port command
- Linux操作系统之ftp搭建
- KALDI语音识别库在LINUX下的安装和编译
- 作为一个新人,怎样学习嵌入式Linux?(韦东山)
- VMware Linux 共享文件夹 虚拟机无共享文件解决方法
- centOS无线网卡驱动
- Linux Kernel资料
- linux parted 分区
- linux的fnctl设置FD_CLOEXEC
- 寒假学习 第11天 (linux 高级编程)
- CentOS minimal 上安装 VirtualBox 虚拟机自启动
- 《Linux运维趋势》2010-2013年全部期刊下载
- Linux Source命令及脚本的执行方式解析(转)
- Linux环境HBase安装与使用
- Linux环境HBase安装与使用
- Linux 学习笔记_9_文件系统管理_2_文件系统管理命令及案例分析