栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

2.2 Linux嵌入式C

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

2.2 Linux嵌入式C

 

目录

1.1 新建一个hello.c源文件

1.2 多个main函数的写法

1.3 源文件到可执行文件的过程

1.3.1 对hello.c的处理过程

1.3.2 平常使用的方式

1.4 编辑器vim

1.4.1 vim配置脚本

1.4.2常用的快捷方式


1.1 新建一个hello.c源文件
vim hello.c
 
#include 
#include 

int main(int argc,char *argv[])
{
	printf("Hello world!n"); 	// n 换行,刷新缓冲区
	exit(0);
}


通过man 3 exit ,查看exit所在的头文件为 #include  

printf 在 #include

man 手册第3章为标准库函数

1.2 多个main函数的写法
void main(void);
void main(int argc,char **argv);
int main(int argc,char **argv);
int main(void);
int main(int argc,char *argv[]);

最开始C语言中没有void类型;

要看在哪个编译器环境下,怎样运行来决定;

main函数作为函数的入口;

先定义,再使用。

建议多用空行和空格,shell中赋值时不能随意使用空格,C语言建议多用;
建议使用锯齿状的逻辑来摆开程序(比如括号的匹配)。

1.3 源文件到可执行文件的过程

C源文件 -- 预处理 -- 编译 -- 汇编 -- 链接 -- 可执行文件

预处理:处理以#开头的部分,如#include

编译:将预处理的文件,编译成汇编文件;

汇编:将汇编文件,汇编成目标文件;

链接:将目标文件,链接成可执行文件。

1.3.1 对hello.c的处理过程

预处理: gcc -E hello.c > hello.i 。生成hello.i,是预处理的结果,.i为gcc认为的预处理结果文件。

编译:gcc -S hello.i 。默认会产生一个hello.s的文件,这是一个汇编文件。

汇编:gcc -c hello.s 。默认会生成一个hello.o文件。这是一个目标文件。

链接:gcc hello.o -o hello 。链接目标文件为可执行程序,指定可执行程序名字为hello。

运行程序: ./hello 。 ./ 表示当前路径下的hello程序。

1.3.2 平常使用的方式

gcc hello.c  将以上所有过程走一遍,生成a.out的可执行文件。

gcc hello.c -o myhello 将以上所有过程走一遍,生成名为myhello的可执行文件。

使用make工具,(需要写Makefile)。

1.4 编辑器vim

1.4.1 vim配置脚本

vim的配置文件 /etc/vim/vimrc 。

不建议直接修改vimrxc。将vim配置文件复制到家目录下(cp /etc/vim/vimrc ~/.vimrc ),然后在家目录下的 .vimrc 中修改。

因为etc下的vimrc对所有用户有效,家目录下的vimrc对本用户有效。

设置Tab键缩进4个空格:在vimrc底部增加 settabstop=4 

1.4.2常用的快捷方式

Ctrl+p,自动补齐,上下选择,然后回车确定。

命令模式下,光标放在函数上,Shift+K,直接调到man手册中。qq再回到vim中。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/613662.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号