当前位置:
文档之家› 《嵌入式编程基础》PPT课件
《嵌入式编程基础》PPT课件
#include <stdio.h>
main()
{
printf("hello, world\n");
}
精选ppt
6
利用vi进行编辑
首先,进入linux的控制台界面。然后,在某个目录建立一个空的 c程序文件,比如利用touch /home/zhaohui/linuxApp/hello.c命令 然后cd到当前目录,调用vi编辑器对这个空文件进行编辑,输入 这个程序的源代码,(利用vihello.c命令,进入vi编辑器,然后进 入vi 的编辑状态,然后输入程序,然后进入vi的命令状态,进行 源程序的保存和vi 的退出,回到shell 提示符。)
Close函数---关闭一个文件,释放该文件上的记录锁
调用方法: #include<unistd.h> Int close (int filedes) 返回成功0,出错-1
精选ppt
12
文件I/O操作函数---read函数
Read函数用来读取打开文件的数据
用法:
#include <unistd.h>
精选ppt
9
文件I/O编程
文件描述符
文件I/O相关操作函数
open函数
close函数
lseek函数
read函数
write函数
dup和dup2函数
fcntl函数
精选ppt
10
文件描述符
文件描述符定义 linux中每打开一个文件都有一个文件描 述符与之对应。该描述符是一个非负整 数。取值
嵌入式编程基础
精选ppt
1
linux 平台下的应用程序类型
linux 下的应用程序主要有两种特殊的文 件来代表:可执行文件和脚本程序。
可执行文件是能够被计算机直接执行的程序, 相当于win平台下exe文件。
脚本程序则是一组指令,这些指令将由另外 一个程序(一般来说是shell 解释器)来执 行,相当于dos下的bat文件。
--------------hello.c--------------------- #include <stdio.h> int main() { printf("Hello, Linux programming world!\n"); return 0; } -------------------------------------------
0对应标准输入,表示键盘 1对应标准输出,一般屏幕 2表示出错输出,一般到屏幕
精选ppt
11
文件I/O操作函数---open、close函 数
Open函数可以打开一个文件,也可以创建并打开文件; 调用方式:
#include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> Int open(const char pathname,int flag…) 调用成功返回文件描述符,失败返回-1
精选ppt
7
gcc 编译和程序运行
然后在当前目录输入编译这个程序的命 令,在程序没有错误的情况下,会在当 前目录得到一个可执行文件hello。
程序的运行如图所示。
注意:如果你只是输入 gcc hello.c则生 成的可执行文件的名字是a.out
精选ppt
8
过程总结
这个命令会依次调用gcc的预编译器(cpp),汇编器(生成.s文 件),编译器(生成.o文件)和链接器程序(ld)。
错返回-1
精选ppt
13
文件I/O读写---程序示例
LED灯---GPIO实验程序
精选ppt
14
文件I/O操作函数---dup函数
复制一个现存的文件描述符 用法:
#include <unistd.h> int dup(int filedes); int dup2(int filedes,int filedes2); 返回值:成功,返回新的文件描述符;失
精选ppt
4
应用程序开发流程
编写应用程序(vi编辑器) 编译应用程序(编译器) 调试运行应用程序(调试器) 执行(直接输入程序命令运行)
精选ppt
5
应用程序开发流程(实例)
为了快速获得对linux 平台下应用程序设计的 体验,我们首先编写经典的hello world程序。
下面的代码来自 c programming language第一 章
精选ppt
2
Shell如何解释执行命令
内置命令---直接执行 实例程序(用户给出路径的)---按照用
户给出的路径执行 实例程序(用户未给出路径)---按照
PATH变量给出的路径执行
精选ppt
3
将被搜索的那些子目录都被保存到一个 名字为PATH的shell变量里面,和dos下 的情况差不多。PATH 是由系统管理员预 先配置好了的,通常包括 /bin,/usr/bin,/usr/local/bin,你可以使用 echo$PATH来显示。如果你是使用的root 登陆系统,则还会多包括/sbin,/usr/sbin 目录。
败,返回-1
精选ppt
ssize_t read (int filedes,void* buf,size_t nbytes)
函ห้องสมุดไป่ตู้作用:
filedes所代表的文件的当前位移量处读取nbytes个字 节的数据到buf中,size_t是一个无符号整数,返回类 型ssize_t是带符号整数。
返回值:成功,返回读到的字节数,到文件结尾返回0;
$ gcc -E hello.c -o hello.cpp $ gcc -x cpp-output -c hello.cpp -o hello.o $ gcc hello.o -o hello 提示:命令$ gcc –O2 -S hello.c 可以得到.s汇编文件。如果打算
学习某个c语言程序所对应的汇编代码。可以参考csapp的第三章。 诸如变量、数组、指针、控制流、子程序等。 当然也可以使用objdump -d hello来查看汇编代码。诸如 objdump等这些命令称为binutils,是非常强大的代码分析工具。 比如addr2line,ar,as,gprof,ld,nm,objcopy,objdump, ranlib,size,strings,strip等。具体可以参考其man命令手册。