嵌入式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、活动窗口切换 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)解释(类型)
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
- 嵌入式linux入门之c语言学习注意事项总结(一)
- 嵌入式linux入门之c语言学习注意事项总结(二)
- C语言入门学习总结(一)
- C语言入门学习总结(一)
- 嵌入式之C语言(一)
- 嵌入式系统开发入门二:C语言的几个注意事项
- 嵌入式系统开发入门二:C语言的几个注意事项
- 一步步学习C语言(一)入门
- 嵌入式学习笔记-C语言(一)
- DSP 嵌入式C语言学习总结
- C语言学习总结(一)
- C语言学习总结(一)
- 【嵌入式Linux】CGI之C语言
- linux C语言网络编程学习总结< 一>
- 嵌入式C语言总结
- 嵌入式linux入门一
- 嵌入式linux学习笔记之入门知识
- C语言入门——指针(一)自学总结
- Struts2+Spring3 基于注解的配置
- 设计模式六大原则(4):接口隔离原则
- 【Unity3d】如何解决在开发中添加了新场景后,需要手工维护BuildSettings中场景列表的问题
- Android SDK国内下载方式
- android中bitmap压缩的几种方法的解读
- 嵌入式linux入门之c语言学习注意事项总结(一)
- 面板数据分析plm
- 贝勒爷教你如何在Mac上安装Microsoft Office
- 设计模式六大原则(5):迪米特法则
- 最短路径
- C# 反射机制(转)
- 怎么看射频信号大小
- MD5算法原理
- 设计模式六大原则(6):开闭原则