linux 第一个c程序,Linux下用GCC编写第一个C程序

最近使用C接口对数据库进行插入操作。突然使用到C语言,大学忘得差不多了,捡起来啃啃:

开始看UNIX环境高级编程。

学会了用gcc编译hello world程序。。惭愧。。。

Fedora 15在安装好之后已经自带了最新的gcc编译器,这可以通过命令:$ gcc -v来显示。

结果:gcc 版本 4.6.0 20110530 (Red Hat 4.6.0-9) (GCC)。当然上面还有一些配置语句,这里就不管它了。

在主文件夹下新建一个hello.c文本文档,里面写上可以倒背如流的hello world:

#include

int main()

{

printf("Hello World!\n");

}

将源文件保存为hello.c,开始进行编译:在终端输入:gcc hello.c,这时候在当前目录下生成一个a.out文件。

终端内输入:./a.out(斜杠前面有一点,只输入a.out是不能运行的),hello world就成功打印出来了。

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

所以一般采用下列方式:

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

$gcc -o hello hello.c

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

$./hello

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

这里会产生一个问题, 当你编译另外一个C程序时,会生成一个新的a.out,这将覆盖前面产生的文件。

面对这种情况,我们有一种办法可以避免它。

我们用 gcc -o hello hello.c来代替前面的gcc hello.c,这时候产生的文件就是hello,然后./hello,同样可以达到目的。当然,大家可以随便起一个自己喜欢的名字。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用 C 语言编写 HRRN 调度算法的示例代码: ```c #include <stdio.h> // 定义作业结构体 struct job { int id; // 作业编号 int arrival_time; // 到达时间 int service_time; // 服务时间 int wait_time; // 等待时间 float response_ratio; // 响应比 }; int main() { int n; // 作业数 struct job jobs[100]; // 最多支持 100 个作业 int i, j; printf("请输入作业数:"); scanf("%d", &n); // 输入作业信息 for (i = 0; i < n; i++) { printf("请输入第 %d 个作业的到达时间和服务时间:", i + 1); scanf("%d %d", &jobs[i].arrival_time, &jobs[i].service_time); jobs[i].id = i + 1; jobs[i].wait_time = 0; jobs[i].response_ratio = 0; } // 计算响应比 int current_time = 0; for (i = 0; i < n; i++) { current_time += jobs[i].service_time; jobs[i].wait_time = current_time - jobs[i].arrival_time - jobs[i].service_time; jobs[i].response_ratio = (float) (jobs[i].wait_time + jobs[i].service_time) / jobs[i].service_time; } // 按照响应比排序 struct job tmp; for (i = 0; i < n - 1; i++) { for (j = 0; j < n - i - 1; j++) { if (jobs[j].response_ratio < jobs[j + 1].response_ratio) { tmp = jobs[j]; jobs[j] = jobs[j + 1]; jobs[j + 1] = tmp; } } } // 输出作业执行顺序和等待时间 printf("作业执行顺序:\n"); for (i = 0; i < n; i++) { printf("作业 %d\n", jobs[i].id); printf("等待时间:%d\n", jobs[i].wait_time); } return 0; } ``` 在这个示例代码中,我们首先定义了一个作业结构体,包括作业编号、到达时间、服务时间、等待时间和响应比等信息。然后通过输入作业信息,计算每个作业的等待时间和响应比,按照响应比降序排序,最后输出作业的执行顺序和等待时间。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值