博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CentOS6.4(linux)下编写C程序(hello world)步骤及注意事项
阅读量:5270 次
发布时间:2019-06-14

本文共 1240 字,大约阅读时间需要 4 分钟。

程序员的开始总是从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用户登陆时,总会莫名其妙的出错,具体原因还有待进一步调查。后面就采用了提升当前用户权限的做法,如果不知怎么提升的,可以参见该文。

问题3:gcc hello.c编译进报错

在使用gcc hello.c时报错,提示没有main函数、没有printf函数等,后来查了下,说是要增加-c的选项,即gcc -c hello.c。这样是编译出来了,但是执行时又提示出错:不是可执行的二进制文件。后来我改了用户权限后再进来,再用gcc hello.c时就不再报错了。这个问题的原因还不清楚。

转载于:https://www.cnblogs.com/sparkleDai/p/7605045.html

你可能感兴趣的文章
Redis常用的命令
查看>>
线段树-矩形面积求并
查看>>
学习计划2
查看>>
Leetcode 1:two sum
查看>>
js生成接口请求参数签名加密
查看>>
swift学习:语言参考
查看>>
Ruby
查看>>
Java NIO (四) 选择器(Selector)
查看>>
利用fgetc合并2个源文件的内容,到一个新的文件中
查看>>
To Search Data in Multiple Columns using 'IN' Clause
查看>>
docker-compose
查看>>
visjs
查看>>
重写代码生成器支持模板(多层架构,MVC),多语言c#,java;支持mysql和sqlserver,动态编译...
查看>>
Opencv 3入门(毛星云)摘要
查看>>
循环链表解决约瑟夫环问题
查看>>
css的基本语法
查看>>
Excel 查重小技巧,适用于office2003
查看>>
UVA11549计算机谜题
查看>>
Knockout.Js学习目录
查看>>
Highcharts的基本属性和方法详解
查看>>