嵌入式linux入门之c语言学习注意事项总结(一)

来源:互联网 发布:python ubuntu tts 编辑:程序博客网 时间:2024/05/21 14:01

声明:本文内容为本人学习嵌入式linux所遇问题后,将自己所理解的注意事项作出总结,以便日后学习,如有错误,请大神能予以指出,小弟不胜感激!


环境:VMware-workstation-full-10.0.4-2249910 和 ubuntu 12.04

此文档为我自己学习嵌入式c时,所学到的一些东西,前面有一部分并非c知识,但对于在linux下编程,熟悉其基本操作还是很有必要的。
1、打开终端 ctrl + alt + t
2、活动窗口切换 Alt + Tab
3、进入ubuntu后,分为用户模式和root模式 
1)用户模式登录,用户目录在/Home目录下;
2)root模式登录,root用户的目录在根目录下;
4、cd 表示切换工作目录,cd命令的默认路径是当前用户目录;
1、用户模式
2、root模式
5、& 后台运行  gedit main.c &  后台运行编辑程序,对于程序调试编译时,比较方便,不需要随时关闭编辑器,就可以使用terminal;
6、man的使用
1)作用
  man命令用来提供在线帮助,使用权限是所有用户。在Linux系统中存储着一部联机使用的手册,以供用户在终端上查找。使用man命令可以调阅其中的帮助信息,非常方便和实用。

Linux的man手册很强大,该手册分成很多section,使用man时可以指定不同的section来浏览,很是强大。(小弟初学,一直不是很明白各个版本之间的区别)

 2)使用方法

在shell中输入 man+数字+命令/函数 即可以查到相关的命令和函数。若不加数字,那Linux man命令默认从数字较小的手册中寻找相关命令和函数。(初学的我个人觉得最主要是用于使用man来了解某个库函数的头文件,以及使用方法等,非常方便)

举例:

man 2 关键字
man 3 关键字
还有,如果想显示1-9所有section,我们可以这样做:
man  -a  查找的关键字
每显示完一个section按q键进入下一个section     如想直接跳出,按: ctrl + z


7、在计算机内部,所有的数据、图像等信息全部需要转换成0/1的数据进行存储;
8、变量:就是描述一片内存空间,即在内存中申请特定类型的内存空间存放相应类型的值;
特征:
1)内存的组织方式 (唯一的编号,即地址,也叫指针)(0-2^32-1  根据实际情况确定大小) 
2)大小(每种类型所占的大小)
3)解释(类型)
9、定义变量,就要涉及到类型的问题:
基本数据类型大致可以分为三类:整数 和 实数 和 空类型
1)整数类型:short, int, long, long long,char  (unsigned, signed)
//不同的计算机的体系结构中所占比特数有可能不同;
2)实数类型(浮点类型):float (32bit), double (64bit) 
//实数不区分un/sngned ,都是有符号数  ,不同的计算机的体系结构中所占比特数固定;
3)void 
//空类型并非无类型,它本身也是一种数据结构,常用在数据类型的转换和参数传递的过程中;
10、unsigned 和 signed   整数的有符号与无符号不能相同表示,在嵌入式开发中,经常会考虑可移植性问题,字符的有符号表示和无符号表示区别较大,一般采用,把存储于int类型的变量的值限制在signed 和 unsigned  int的交际中,这样可以获得最大程度的可移植性,又不牺牲效率。(书上看到的)
11、sizeof  长度运算符
sizeof  是一个使用频率极高的操作符,若运算对象为变量,则是求变量占用内存空间的字节数;若运算对象为数据类型,则求数据类型占内存空间的字节数;
sizeof与strlen的区别:
1)用sizeof来返回类型以及静态分配的对象、结构或数组所占的空间,返回值跟对象、结构、数组所存储的内容没有关系。获得保证能容纳实现所建立的最大对象的字节大小;
sizeof返回定义arr数组时,编译器为其分配的数组空间大小,不关心里面存了多少数据。
2)strlen:返回字符串的长度。该字符串可能是自己定义的,也可能是内存中随机的,该函数实际完成的功能是从代表该字符串的第一个地址开始遍历,直到遇到结束符'\0'。返回的长度大小不包括'\0'。
        strlen只关心存储的数据内容,不关心空间的大小和类型。


0 0