在linux下学习C语言

安装必要的必要的包

sudo apt-get install build-essential

如何运行一个C语言程序

编写C语言程序

编写C语言程序时按照学习到的C语言语法编写即可。

可以选择使用vim编写,也可以选择在文本编辑器中编写。但是推荐使用vim。具体使用方法请自行学习。

编译

make ex1

ex1为你将要运行的以.c为后缀名的文件。

运行

./ex1

运行通过编译生成的.exe文件

删除文件

如果想要删除指定文件,可以使用rm命令。

例如:

rm ex1

注意这里的ex1指的是可执行文件。

在linux中可执行文件一般没有后缀名,所以直接写文件名即可。

如果要删除ex1的源文件,那么应该

rm ex1.c

打开编译警告

有时可能会遇到代码不完善但是编译器没有报警告的情况,这时候可以将所有编译警告打开重新构建程序。

CFLAGS="-Wall" make ex1

这样就可以看到警告并通过警告修改完善自己的代码啦。

make的使用

在上面我们用到了命令

make ex1

这个命令告诉make,“我想创建名为ex1的文件”。于是Make执行下面的动作:

· 文件ex1存在吗?
· 没有。好的,有没有其他文件以ex1开头?
· 有,叫做ex1.c。我知道如何构建.c文件吗?
· 是的,我会运行命令cc ex1.c -o ex1来构建它。
· 我将使用cc从ex1.c文件来为你构建ex1。

还用到了

CFLAGS="-Wall" make ex1

这命令是一种向make命令传递“修改器”的途径

可以用一条类似于export CFLAGS="-Wall"的命令来执行相同的事情

在这个例子中我执行了CFLAGS="-Wall" make ex1,所以它会给make通常使用的cc命令添加-Wall选项。这行命令告诉cc编译器要报告所有的警告(然而实际上不可能报告所有警告)。

Makefile

我创建了一个名为Makefile的文件,在其中输入以下内容:

CFLAGS=-Wall -g

clean:
    rm -f ex1

Make会自动假设当前文件夹中有一个叫做Makefile的文件,并且会执行它。

一定要注意:确保只输入了 TAB 字符,而不是空格和 TAB 的混合。

Makefile展示了make的一些新功能。

首先我们在文件中设置CFLAGS,所以之后就不用再设置了。

并且,我们添加了-g标识来获取调试信息。接着我们写了一个叫做clean的部分,它告诉make如何清理我们的小项目。

尝试运行

$ make clean
$ make ex1

注意不必输入$

可以看到

$ make clean
rm -f ex1
$ make ex1
cc -Wall -g    ex1.c   -o ex1

再去看一眼Makefile,可以看到在它的下面,我缩进并且输入了一些想要make为我运行的shell命令。

你可以在此处输入任意多的命令,所以它是一个非常棒的自动化工具。

注意

找到rm -f ex1的那一行并去掉缩进(让它左移),再次运行make clean,就会得到下面的信息:

$ make clean
Makefile:4: *** missing separator.  Stop.

永远记住要缩进,以及如果你得到了像这种奇奇怪怪的错误,应该复查你是否都使用了 TAB 字符。

补充

创建目标all:ex1,以单个命令make构建ex1
例如:

CFLAGS=-Wall -g
all:ex1
clean:
	rm -f ex1

也可以通过在all后添加更多的文件名来同时编译多个文件

不要删除Makefile,因为它可以帮你指出错误,以及当我们需要自动化处理一些事情时,可以向它添加新的东西。

更多内容可以参考Makefile基础使用和实战详解

Valgrind介绍

可以用OS上的包管理器来安装Valgrind,也学习如何从源码安装程序。这涉及到下面几个步骤:

· 下载源码的归档文件来获得源码
· 解压归档文件,将文件提取到你的电脑上
· 运行./configure来建立构建所需的配置
· 运行make来构建源码,就像之前所做的那样
· 运行sudo make install来将它安装到你的电脑

# 1) Download it (use wget if you don't have curl)
curl -O http://valgrind.org/downloads/valgrind-3.12.0.tar.bz2

# use md5sum to make sure it matches the one on the site
md5sum valgrind-3.12.0.tar.bz2

# 2) Unpack it.
tar -xjvf valgrind-3.12.0.tar.bz2

# cd into the newly created directory
cd valgrind-3.12.0

# 3) configure it
./configure

# 4) make it
make

# 5) install it (need root)
sudo make install

        ~~~~~~~        无论什么时候你运行C程序并且使它工作,都应该使用Valgrind重新运行它来检查。

点击这里可以学习更多内容。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值