你的位置:首页 > 操作系统

[操作系统]0基础学习ios开发笔记第一天


Ios操作

界面操作

快捷键

command + c 复制

command+v 粘贴

command +a 全选

command +s 保存

command +z 撤销

command +x  剪切

command +space  输入法的切换

command +<—(退格键)   删除光标所在行,光标前的所有内容

option键(ios)--alt(windows)键

command在Windows键盘中就是windows键

Linux命令

cd

cd:change directory 切换目录

liuzw@ubuntu:~/sunjie$ cd cliuzw@ubuntu:~/sunjie/c$ 

 

cd  ~ 或者直接输入cd,是切换到当前用户的主目录

liuzw@ubuntu:~/sunjie/c$ cd liuzw@ubuntu:~$

 

cd  -  撤销上一次的cd操作

liuzw@ubuntu:~/sunjie$ cd cliuzw@ubuntu:~/sunjie/c$ cd liuzw@ubuntu:~$ cd -/home/liuzw/sunjie/cliuzw@ubuntu:~/sunjie/c$ 

 

cd / 回到根目录

cd .. 回到父目录

liuzw@ubuntu:~/sunjie/c$ cd ..liuzw@ubuntu:~/sunjie$ 

 

pwd:print workdirectory查看当前工作路径

 

liuzw@ubuntu:~/sunjie$ pwd/home/liuzw/sunjie

ls: list source 查看当前工作路径下的资源,包括文件及目录

 

ls –a(all) 查看所有资源,包括隐藏的

 

ls –l(list one file per line)

 

红色圈住的第一列表示资源类型,其中的d表示目录,-表示文件

红色圈住的第二列表示占用磁盘空间大小

mkdir : make directory 创建目录

 

mkdir –p 当父目录不存在时,就创建父目录,而不是报错

 

touch 一般用来创建空文件

echo 回显数据 输出变量

 

$? 表示上一次命令的执行结果,0表示执行正确,其他的表示错误,如上图示

 

cp :copy

拷贝文件

 

拷贝目录

 

 

cat 显示文件内容,只能看文件,不能看目录

 

 

 

 

cat –n 显示时加行号

 

C语言

 

计算机只认识1和0,编程语言的层级如下:

机器语言

汇编语言

高级语言(c语言)

1001,0010,0010,1111

mov  2 f

while   if  int

C语言的编译过程

编译:实质就是翻译。常用的编译器如:gcc

可执行文件是运行时环境和一些.o结尾的文件的集合。将我自己目标文件和这些文件链接以后,形成可执行的文件。

目标文件是二进制机器码文件,可执行文件也是二进制的机器码文件,但是目标文件不能在机器上运行,必须与运行环境等链接才可运行。而可执行文件可以在机器上运行。

编写我的第一个c程序,hello.c他hello.h

hello.h文件内容如下:

#define HELLO "helloworld"

Hello.c文件内容如下

#include <stdio.h>#include "hello.h"int main(void){  printf(HELLO);  return 0;}

整个编译阶段分为四步:

第一步:预处理,hello.c转变为hello.i,一般为隐式执行

预处理命令:gcc -E hello.c -o hello.i,生成预处理文件简略如下:

extern void flockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__));

extern int ftrylockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ;

extern void funlockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__));

# 943 "/usr/include/stdio.h" 3 4

# 2 "hello.c" 2

# 1 "hello.h" 1

# 3 "hello.c" 2

int main(void)

{

    printf("helloworld");

    return 0;

}

在预处理阶段,宏HELLO被替换为实际内容

第二步:汇编阶段,将C语言文件转换为汇编语言文件,也就是hello.i转变为hello.s

命令:gcc -S hello.i -o hello.s

hello.s文件内容如下

  .file  "hello.c"  .section  .rodata.LC0:  .string "helloworld"  .text  .globl main  .type  main, @functionmain:.LFB0:  .cfi_startproc  pushq  %rbp  .cfi_def_cfa_offset 16  .cfi_offset 6, -16  movq  %rsp, %rbp  .cfi_def_cfa_register 6  movl  $.LC0, %edi  movl  $0, %eax  call  printf  movl  $0, %eax  popq  %rbp  .cfi_def_cfa 7, 8  ret  .cfi_endproc.LFE0:  .size  main, .-main  .ident "GCC: (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4"  .section  .note.GNU-stack,"",@progbits

第三步:将汇编语言编译成对应的机器语言(二进制格式),也就是hello.s转换为hello.o

命令:

gcc -c hello.s -o hello.o

使用命令

objdump -d hello.o

反汇编hello.o文件内容如下:

hello.o:     file format elf64-x86-64

Disassembly of section .text:

0000000000000000 <main>:

   0: 55                   push   %rbp

   1: 48 89 e5                mov    %rsp,%rbp

   4: bf 00 00 00 00         mov    $0x0,%edi

   9: b8 00 00 00 00         mov    $0x0,%eax

   e: e8 00 00 00 00         callq  13 <main+0x13>

  13: b8 00 00 00 00         mov    $0x0,%eax

  18: 5d                   pop    %rbp

  19: c3                   retq

第四步:将hello.o文件与运行环境链接,形成可执行文件

命令:

gcc hello.o -o hello

查看hello文件内容,命令objdump –d hello反汇编查看

000000000040052d <main>:

  40052d: 55                     push   %rbp

  40052e: 48 89 e5               mov    %rsp,%rbp

  400531: bf d4 05 40 00         mov    $0x4005d4,%edi

  400536: b8 00 00 00 00         mov    $0x0,%eax

  40053b: e8 d0 fe ff ff         callq  400410 <printf@plt>

  400540: b8 00 00 00 00         mov    $0x0,%eax

  400545: 5d                     pop    %rbp

  400546: c3                     retq  

  400547: 66 0f 1f 84 00 00 00   nopw   0x0(%rax,%rax,1)

  40054e: 00 00

以上为链接后的main函数,注意与未链接的区别:

0000000000000000 <main>:

   0:     55                   push   %rbp

   1:     48 89 e5                  mov    %rsp,%rbp

   4:     bf 00 00 00 00           mov    $0x0,%edi

   9:     b8 00 00 00 00           mov    $0x0,%eax

   e:     e8 00 00 00 00           callq  13 <main+0x13>

  13:     b8 00 00 00 00           mov    $0x0,%eax

  18:     5d                   pop    %rbp

  19:     c3                   retq

执行文件,命令./hello

如果把hello.c程序中的return 0 去掉的话,返回值就不一定为0

liuzw@ubuntu:~/sunjie/c$ ./a.out

helloworldliuzw@ubuntu:~/sunjie/c$ echo $?

10

总结:以上所有具体的编译过程可直接执行如下命令,直接形成可执行文件a.out

,也可加-o hello

 




办理马来西亚旅游签证跟团马来西亚旅游需要多少钱几月份去马来西亚旅游最好什么时候去马来西亚旅游最便宜去马来西亚旅游跟团要多少钱2015深圳东部华侨城万圣节活动有哪些?东部华侨城万圣节有什么活动? 2015深圳海洋世界门票多少钱?深圳小梅沙小孩子要门票吗? 陕西最美赏秋地推荐牛背梁 深圳海洋世界官网,深圳小梅沙海洋世界官方网站。 岑洞军事野战价格?江门岑洞军事野战怎么玩? 深圳喜羊羊野炊农庄优惠票?深圳南澳农庄票价? 南澳农庄一日游?深圳喜羊羊农庄天气情况? 清新五星峡谷漂流好玩吗?清远清新五星峡谷漂流全长多少? 中山逍遥谷电话?五桂山逍遥谷门票预订? 珠海到中山逍遥谷自驾攻略?珠海到中山逍遥谷路线? 深圳到中山逍遥谷怎么走?深圳到中山逍遥谷路线? 中山逍遥谷度假村团购价格?中山逍遥谷森林公园多少钱? 山西太原特产:仿古铁器 山西太原特产:竹叶青 3天游遍武汉城市圈 山西太原特产:原平梨 IDT7024L25J8 Datasheet IDT7024L25J8 Datasheet ICS542MILFT Datasheet ICS542MILFT Datasheet IDT7024L25PF Datasheet IDT7024L25PF Datasheet 富士山旅游价格 富士山旅游价格 富士山旅游价格 深圳去日本旅游报价 深圳去日本旅游报价 深圳去日本旅游报价 从深圳去日本旅游报价 从深圳去日本旅游报价 从深圳去日本旅游报价