多语言展示
当前在线:1032今日阅读:167今日分享:27

在windows系统中使用ubuntu虚拟机进行linux开发

开发环境在windows系统中使用ubuntu虚拟机进行linux开发嵌入式系统通常,嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板。从应用对象上加以定义,嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。国内普遍认同的嵌入式系统定义为:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。
工具/原料
1

ubuntu,vmWare

2

Windows

方法/步骤
1

1: 熟悉ubuntu操作界面1) 打开vmWare, 打开虚拟机2) 运行虚拟机,第一次需要选择“我已复制此虚拟机”3) 熟悉简单的命令         Ctrl + ALT + T    可以得到新的终端窗口        (1)pwd  显示完整目录(2)ls   list 列举出指定目录下的内容或者是查看文件的信息gec@ubuntu:~$ ls   默认是查看当前目录下的内容     等价于 ls   ./gec@ubuntu:~$ ls  /home  查看/home目录下的内容 ls   -a 列举出指定目录下的全部内容,包括隐藏文件(以.开头的)ls   -l  列举出指定目录下的详细信息,包括文件的类型、文件的权限等信息ls  -al  (3)clear   清空屏幕(4)mkdir  创建一个工作目录gec@ubuntu:~$ mkdir  gz1812就有了这么一个工作目录  /home/gec/gz1812 (5)cd    change directory切换目录 在当前位置gec@ubuntu:~$  cd   /home/gec/gz1812  (完整目录、绝对路径)cd   ./gz1812   (相对路径,当前目录的gz1812)cd   gz1812   (默认是当前目录的gz1812) 常见错误:  No such file or directory  找不到对应的目录或者文件,原因:  1:没有弄清楚自己的位置            2:输入文件名时候输错了

2

(6)使用【tab】键自动补齐,可以避免长命令时候错误的发生(7)使用上键和下键对历史命令进行选择(8)仅仅创建一个普通文件touch  filename (9) rm  删除命令  removerm  filenamerm  dirname  -r (10) mv  文件重命名或者文件移动  movemv   main1-c    main.c   (把main1-c重命名为main.c)mv   main1-c     /home/gec  (把main1-c移动到/home/gec目录下)mv   dir1    dir2   (如果dir2是存在的, 就是把dir1移动到dir2下;如果dir2是不存在的,就把dir1重命名为dir2)

3

(11)  cp  复制命令  copycp   filename   new_path&namecp   dirname1   dirname2    -r (12)  man  用户手册  提供帮助查看cp命令的帮助文档     man  cp (13)  新建文件并开始编辑或者是编辑已存在文件vim 或者  vi 1)进入文件后,默认是出于命令模式,2)需要用切换到编辑模式(输入模式)  键入 i     a      o  这3个按键可以切换 3)开始输入代码4)退出输入模式,返回到命令模式    按【ESC】键返回到命令模式    在命令模式键入 冒号+w表示保存:w   保存:w    newname   另存、:wq  保存并退出:q!   强制退出  (14)  gcc编译器常用写法:  gcc   -o  目标文件    所有依赖的文件(.c)Linux中整个编译过程分4步完成1) 预处理   把所有的#开头的内容都替换掉#include   #define    #ifdef...#endif gec@ubuntu:~/gz1812/0409$ gcc -E -o  target.i    main.cgec@ubuntu:~/gz1812/0409$gec@ubuntu:~/gz1812/0409$ file target.itarget.i: C source, ASCII text 2) 编译   检查一个文件的语法,得到汇编文件gec@ubuntu:~/gz1812/0409$ gcc -S -o  target.s    main.cgec@ubuntu:~/gz1812/0409$ file  target.starget.s: assembler source, ASCII text 3) 汇编  检查外部调用声明和全局变量有没有问题gec@ubuntu:~/gz1812/0409$ gcc -c  -o  target.o    main.cgec@ubuntu:~/gz1812/0409$gec@ubuntu:~/gz1812/0409$gec@ubuntu:~/gz1812/0409$ file  target.otarget.o: ELF 64-bit LSB relocatable, x86-64, version 1 (SYSV), not strip 4) 链接  检查是否所有的外部调用声明都有定义 gec@ubuntu:~/gz1812/0409$gcc  -o  target    main.cgec@ubuntu:~/gz1812/0409$ file  targettarget: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=3db137490e899cdb30d48b1cd07826a93cae7516, not stripped (15)  file  命令查看文件的属性gec@ubuntu:~/gz1812/0409$ gcc -o   target  main.cgec@ubuntu:~/gz1812/0409$ lsmain.c  targetgec@ubuntu:~/gz1812/0409$ file   main.cmain.c: C source, ASCII textgec@ubuntu:~/gz1812/0409$ file  targettarget: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=3db137490e899cdb30d48b1cd07826a93cae7516, not stripped

4

2: C语言基础知识a:  常量和变量常量:在代码里面出现所有的数字、字符、字符串int  a = 100;char  c = ‘x’ ;char  buf [100] = “hello world”;变量         在运行过程中数值会改变变量名是由字母或者下划线开头,由字母、数字、下划线组成的 基本数据类型表示对应的变量在内存中占用的字节数char   占用1Byteint     占用4B(在32位机) ,在16位机上是2B,在64位机上4Blong    占用4B(在32位机)  ,在16位机上是4B, 在64位机上8Bchar  buf [100]  由100个char类型的数据组成的数组变量,占用100B 运算符 =  是赋值运算符 ==   判断左值和右值是否相等 >     判断左值是否大于右值 <     判断左值是否小于右值++    变量值自加1后再给自身赋值如a为10 ,  a++之后a变成11--     变量值自减1后再给自身赋值如a为10 ,  a--之后a变成9 b:  main函数的定义1)int   main(void) {      }   不带参数的main函数2) int  main(int  argc , char * argv[ ])   带参数的main函数, 在终端输入执行命令的时候,给它的参数进行了赋值

5

c:  简单的格式化IO语句格式化输出printf(“hello world \n”);   直接在终端上输出字符串“hello world \n”int i = 8;int x = 100;printf('Hello world %d \n', i );  输出一个变量的十进制值printf('Hello world %d , %d \n', i, x );     输出两个变量的十进制值 int i = 8;  int x = 100;printf('Hello world %d \n', i );  %d输出一个变量的十进制值printf('Hello world %o , %x \n', i, x );  %o 输出一个变量的八进制值  %x 输出一个变量的十六进制值gec@ubuntu:~/gz1812/0409$ ./targetHello world 8Hello world 10 , 64 char  buf [100] = “hello world”;printf(“buf is  %s \n” , buf ) ;  %s是直接输出字符串 \n 换行 相当于enter键\t  制表符 相当tab键

注意事项
1

“经验是茶,需要您去品!”如果您认为我写得还不错,请在页面上点击“红心”支持我,点击“月票投票”投我一票,如果您有疑问,请在页面下方评论框中指出,谢谢。

推荐信息