linux怎么运行c程序

linux怎么运行c程序,第1张

CC是Linux *** 作系统下一个非常重要的源代码编译工具,有着许多重要的选项,支持许多不同语言的编译,如C、C++、Ada、Fortran、Objective、Perl、Python、Ruby以及Java等,甚至Linux的许多内核和许多其他自由软件以及开放源码应用程序都是用C语言编写并经gcc编译而成的.

1.编译单个源文件

[例如]在屏幕上打印"Hello,Linux."

[源代码]

#include<stdio.h>

#include<stdlib.h>

int main(int argc,char **argv)

{

printf("Hello,Linux.\n")

exit(0)

}

源文件保存为hello.c,开始进行编译

$gcc -o hello hello.c

编译成功完成后,在当前路径下,生成一个名为hello的文件,然后执行

$./hello

在屏幕上,你将会看到打印结果:Hello,Linux.

说明:在默认情况下,编译成功完成后,会在当前路径下,生成一个名为a.out的文件,然后执行$./a.out便可打印结果,但通常可以通过选项-o来指定自己的可执行程序名称

2.编译多个源文件

3.使用外部函数库

4.使用共享函数库和静态函数库

5.gcc选项详细描述

1.7.2 gcc/egcs 的主要选项

表 1-3 gcc 命令的常用选项

选项 解释

-ansi 只支持 ANSI 标准的 C 语法。这一选项将禁止 GNU C 的某些特色,

例如 asm 或 typeof 关键词。

-c 只编译并生成目标文件。

-DMACRO 以字符串“1”定义 MACRO 宏。

-DMACRO=DEFN 以字符串“DEFN”定义 MACRO 宏。

-E 只运行 C 预编译器。

-g 生成调试信息。GNU 调试器可利用该信息。

-IDIRECTORY 指定额外的头文件搜索路径DIRECTORY。

-LDIRECTORY 指定额外的函数库搜索路径DIRECTORY。

-lLIBRARY 连接时搜索指定的函数库LIBRARY。

-m486 针对 486 进行代码优化。

-o FILE 生成指定的输出文件。用在生成可执行文件时。

-O0 不进行优化处理。

-O 或 -O1 优化生成代码。

-O2 进一步优化。

-O3 比 -O2 更进一步优化,包括 inline 函数。

-shared 生成共享目标文件。通常用在建立共享库时。

-static 禁止使用共享连接。

-UMACRO 取消对 MACRO 宏的定义。

-w 不生成任何警告信息。

-Wall 生成所有警告信息。

1、打开kali linux的终端。创建一个文件并命名为test.c。在终端输入:touch test.c。

2、可以看到已经生成了一个后缀为test.c的源文件。然后用vim工具打开这个文件并编写代码。在终端中输入:vim test.c或者gvim test.c打开这个文件并编写代码。

3、编写完了这个代码。现在开始编译源文件。在终端中输入:gcc test.cgcc是linux自带的c语言编译器。如果是windows则要用ide工具来编译。linux系统一般写C语言用gcc +vim+gdb三个自带的工具就可以了。

4、打完gcc test.c编译完C源文件。然后就可以看见a.out的文件。一般linux系统就默认为a.out为编译完的文件。现在运行a.out文件。在a.out文件的目录下打开终端并输入./a.out就是运行文件了。

5、如果想要编译完的文件名不要用a.out文件。就可以在编译时打入.gcc test.c -o test.out然后就可以看见有一个test.out.文件 了。-o后面跟着的编译生成的文件名。

6、再运行test.out在终端中输入./test.out结果如图。这样在linux系统下编译并运行C语言就完成了。

实现方式1(高大上方式):通过在/etc/init.d下添加启动/停止脚步,并在相应运行级别的/etc/rc.d/rcX.d目录下建立相应软连接的方式。这是LInux标准服务的启动方式,同时也支持采用service XXX start的方式启动和关闭。

1. 在/etc/init.d下放置相应启动程序的脚本,脚本必须实现start, stop, restart三和 *** 作。可以参考该目录已有的脚本,改写一下就行。

2. 在/etc/rc.d/rcX.d(如rc3.d)目录下用ln建立命令建立相应的link文件,K开头为关机时调用的,S开头为开机时使用的,后面接的数字表明这个服务相对于其它服务的启动优先级。可以参考该目录已有的连接文件名,ln一下就行。

实现方式2(菜鸟方式): 修改/etc/rc.d/rc.local。这个文件一般会放一些用户个性化的命令。

有点像早期 DOS 年代的 autoexec.bat 与 config.sys, 它就是一个脚本,在里头添上你的应用就行了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7786869.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-09
下一篇 2023-04-09

发表评论

登录后才能评论

评论列表(0条)

保存