• 01_imx6ull_linux_c_应用编程指南


    0.参考文档

    正点原子的:I.MX6U 嵌入式 Linux C 应用编程指南

    1. 应用编程的概念

    1.1 系统调用

    系统调用(system call)是 linux内核提供给应用层的应用编程接口(API),是linux应用层进入内核的入口。应用程序通过系统调用来使用操作系统提供的各种服务。

    1.2 库函数

    C语言库函数构建于系统调用之上,库函数其实是由系统调用封装而来的。

    有些库函数则不调用系统调用:strlen()、strcat()、memcpy()、memset()、strchr()等;

    而有些库函数则会使用系统调用来 帮它完成实际的操作,譬如库函数 fopen 内部调用了系统调用 open() 来帮它打开文件、库函数 fread() 就利用 了系统调用 read() 来完成读文件操作、 fwrite() 就利用了系统调用 write() 来完成写文件操作。
    C语言库的设计是为了提供比底层系统调用更为方便、更为好用、且更具有可移植性的调用接口。

    系统调用与库函数的区别:

    (1)库函数属于应用层,而系统调用是内核提供给应用层的编程接口,属于系统内核的一部分;

    (2)库函数运行在用户空间,而调用系统调用会由用户空间陷入到内核空间;

    (3)库函数通常是有缓存的,而系统调用是无缓存的,所以性能、效率上,库函数通常优于系统调用;

    (4)可移植性:库函数相比于系统调用具有更好的移植性,C语言库在不同的操作系统上接口定义几乎是一样的;

    1.3 标准C语言函数库

    glibc的网址:http://www.gnu.org/software/libc/

    1.4 main 函数

    man函数的2种形式:

    int main(void)

    {

    }

    int main(int argc, char **argv)

    {

    }

    2.文件IO基础

    Linux下一切皆文件,文件是Linux系统设计思想的核心理念。

  • 相关阅读:
    GreenPlum dblink实战
    不必安装,快速设计数据库表结构
    JDBC-03:PreparedStatement如何实现对数据库的增删改查操作
    【游戏引擎Easy2D实战】选择关卡场景示例
    Linux基础教程:3、gdb调试工具的使用
    项目范围管理案例
    load 镜像及 疑难杂症(一)
    二分查找与二分答案
    项目管理之如何出道(中)
    14.一元二次方程组,有实根输出实根,没有实根输出虚根
  • 原文地址:https://blog.csdn.net/zaichen321/article/details/132796120