设为首页 加入收藏

TOP

Linux下GCC编译C源程序
2014-11-24 14:04:08 来源: 作者: 【 】 浏览:0
Tags:Linux GCC 编译 源程序

$ cat hello1.c


如果已经有hello1.c则将hello1.c的文件内容显示在屏幕上,否则给出提示没有此文件。


$ cat 单独输入cat会将后面所有的按键输出到屏幕上面,退出cat按Ctrl+C键。


$vi hello1.c 进入VIM,没有hello1.c则创建此文件。




hello1.c中输入



$gcc -c hello1.c


$gcc -c hello2.c


$gcc hello1.o hello2.o -o hello


$./hello.out


如果在终端shell下直接输入$hello,会提示没有此命令,因为此时shell以为你输入的是shell命令,而hello并不是shell的命令,而是你自己写的程序。


要想执行自己写的程序,有两种办法,一是cd到程序所在的目录,执行:. /hello,,另一种就是:(路径名)/hello。


gcc的 -c格式只生成目标文件,不进行连接,用于对原文件的分别编译,生成.o目标文件。


gcc的 -o file选项格式将输出放在文件file中。如果未使用该项,则可执行文件放在a.out中。




如果hello1.c中有


#include “hello3.h”


而hello3.h又不在当前目录和标准目录中,比如在/tmp下,则可以如下编译


$gcc -I /tmp hello1.c


假如hello1.c中使用了某宏比如MAC而并没有定义该宏,键入要#define MAC “test”可以如下编译


$gcc -I /tmp -D MAC=' "test" " -E hello1.c


-D name 定义一个宏,其值为1


-D name=definition定义一个宏name,指定值为definition,作用等价于在源文件中#define name definition,但-D选项比宏定义优先级高。


-I dir 指定搜索头文件的路径dir。


-E 只对指定的源文件进行预处理,不做编译,生成的结果送到标准输出。




】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Qt在Ubuntu下开发 下一篇Ubuntu下C程序使用xlslib2.3.4去..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: