博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在Ubuntu下初学C语言及Makefile----实例
阅读量:3962 次
发布时间:2019-05-24

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

在Ubuntu下初学C语言及Makefile----实例

摘要:在Ubuntu下进行gcc编译以及Makefile文件建立,并与Windows环境下进行对比学习。

相关知识:Ubuntu,gcc,vim,Makefile,Windows环境下的vc++
简要概括:请大家在仿照此实例之前在Ubuntu中下载或更新gcc,vim,Makefile,如对此有疑问请移步其他论坛进行相关学习。

在Windows下用Vc6++编译

C语言下的Hello,World!

先进行大家比较熟悉的Windows环境下的编译Hello,World!程序,大家先来练练手。 打开vc++6.0 输入以下代码。

#include
//预处理int main() //main主函数{
printf("Hello World!\n"); //打印Hello,World!至屏幕(\n为换行符) return 0; //返回值0}

下图是编译成功的图

在这里插入图片描述

C语言下头文件的编译与调用

这里我将用vc++工程进行编写头文件以及调用。(如有对vc++建立工程有疑问的请点击此链接–该链接为百度经验)

linuxx.h库函数代码如下

#ifndef linuxx						//声明头文件	#define linuxx						//宏定义#include
//预处理#include
//预处理float sumfloat(float,float); //声明sumfloat函数 #endif //结束

这里这样编写是为了避免重复定义。

linuxx.c代码如下

#include"linuxx.h"						//使用" "的意思是在此目录下搜索头文件float sumfloat(float a,float b)			//定义sumfloat函数{
a+=b; //a=a+b return a; //返回a的值}

main.c的代码如下

#include"linuxx.h"					//头文件为linuxx.hvoid main(){
//主函数 float a=12,b=11; //定义两个浮点型a,b并进行赋值 float x; x=sumfloat(a,b); //调用sumfloat函数并将值返回给x printf("%f\n",x); //打印x的值至屏幕}

具体工程建立如下图:

在这里插入图片描述

在Ubuntu下进行编译

编写Hello World!

在进入Ubuntu之后,在命令行界面进行创建test文件,之后进入test文件(由于是测试学习,所以请大家尽量建立指定文件夹进行保存自己的代码,这样方便之后的学习与清理文件)并输入:

vim Hello.c

Hello.c代码如下:

#include
//预处理int main() //main主函数{
printf("Hello World!\n"); //打印Hello,World!至屏幕(\n为换行符) return 0; //返回值0}

输入:

gcc Hello.c

生成a.out文件,之后输入:

./a.out

运行结果如下:

在这里插入图片描述

编写头文件以及调用

linux.h代码如下

#ifndef linux						//声明头文件	#define linux						//宏定义#include
//预处理#include
//预处理float sumfloat(float,float); //声明sumfloat函数 #endif

linux.c代码如下:

#include"linux.h"						//使用" "的意思是在此目录下搜索头文件float sumfloat(float a,float b)			//定义sumfloat函数{
a+=b; //a=a+b return a; //返回a的值}

main.c代码如下:

#include"linux.h"					//头文件为linuxx.hvoid main(){
//主函数 float a=12,b=11; //定义两个浮点型a,b并进行赋值 float x; x=sumfloat(a,b); //调用sumfloat函数并将值返回给x printf("%f\n",x); //打印x的值至屏幕}

代码输入之后进行gcc编译,输入

gcc -c linux.c

gcc -c即是将linux.c 编译成二进制目标代码,文件后缀为.o

在生成linux.o文件之后,输入:

gcc linux.o main.c -o sumfloat

gcc -o 是将linux.o与main.c链接成最终可执行文件sumfloat.exe,

之后输入:

./sumfloat

得出结果下图所示:

在这里插入图片描述

但进行最后编译的时候出现警告,网上搜出的原因是未在头文件以及主函数中声明调用函数,具体警告内容如下:

在这里插入图片描述
目前由于时间问题没有解决,望大佬告知。

makefile进行调用头文件

创建makefile文件,输入:

vim makefile

makefile代码如下

sumfloat:main.c	gcc linux,o mainc.c -o sumfloat

之后输入:

make

同样有以上编译问题

最后输入:

./sumfloat

得出结果为:

在这里插入图片描述

总结

此次通过对比学习,使我更加深刻的认识vc与Ubuntu下的c语言编译以及初步上手了makefile的编程,同时也掌握了一些编程知识。其中遇到很多问题,谢谢网上好心博客主以及我的同学们,如果以上博客有侵,则请联系我。谢谢各位阅读并指出错误。

转载地址:http://ryrzi.baihongyu.com/

你可能感兴趣的文章
linux 链接
查看>>
centos6.x 添加开机启动服务
查看>>
zfs 简单使用
查看>>
linux EXT4格式分区扩容
查看>>
实现 du 命令
查看>>
git revert reset 使用
查看>>
一些比较好的golang安全项目
查看>>
HTTP状态码
查看>>
go语言
查看>>
mysql mariaDB 以及存储引擎
查看>>
游戏行业了解介绍
查看>>
linux at 命令使用
查看>>
Go在windows下执行命令行指令
查看>>
inotify
查看>>
inode
查看>>
Shell: sh,bash,csh,tcsh等shell的区别
查看>>
golang ubuntu 配置 笔记
查看>>
vim 常用命令
查看>>
golang 开源项目
查看>>
ubntu 开发服务进程
查看>>