码迷,mamicode.com
首页 > 其他好文 > 详细

期中总结

时间:2015-11-01 15:16:35      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:

linux 基础

几个关键命令

man -k k1 | grep k2 | grep 2

查找包含k1,k2,k3的函数

man 3 printf

查找c语言函数pintf的帮助文档,注意1为linux命令,2为系统调用,3为c语言函数

grep -nr XXX /usr/include

 

查找include目录下的某个宏的值

cheat XXX

查找某个linux命令的使用方法

 

VIM常用命令

见vimtutor

 

GCC命令

gcc -S main.c -o main.s

汇编代码

gcc -c main.c -o main.o

二进制代码

gcc -g main.c -o main

gdb调试

gcc main.c -o main

编译

 

GDB命令

b 设置断点

info b 显示断点信息

r 运行

n 不进入的单步运行

s 进入的单步运行

continue 持续运行到下一个断点

p 查看变量值

quit 退出

bt 显示所有栈

frame 显示当前栈/栈顶

up 上条栈

down 下条栈

disassemble 显示汇编代码

disassemble /m main 将汇编代码同c代码一同打印

查看当前运行汇编指令:
disassembler $pc
display/i $pc
x/i $pc
执行单指令。
ni;
si:

 

静态库

gcc -c add.c sub.c mul.c div.c
ar rcvs libmymath.a add.o sub.o mul.o div.o

gcc main.c -o main -L. -lmymath (or gcc main.c ./libmymath.a -o main)

 

动态库

gcc -fPIC -c add.c sub.c mul.c div.c
gcc -shared -o libmymath.so add.o sub.o mul.o div.o

gcc -o main main.c -L. -lmymath

libmymath.so 要拷贝到/lib or /usr/lib

 

Makefile

test(目标文件):所需文件名

tab(一个tab的位置) 命令

 

示例:

testmymath: main.o add.o sub.o mul.o div.o 
gcc main.o add.o sub.o mul.o div.o -o testmymath
main.o: main.c head.h
  gcc -c main.c
add.o: add.c head.h
  gcc -c add.c
sub.o: sub.c head.h
  gcc -c sub.c
mul.o: mul.c head.h
  gcc -c mul.c
div.o: div.c head.h
  gcc -c div.c
 
 
 

程序的机器级表示

寻址方式:见p113

指令:

数据传送指令:见p114

算数类指令:见p119

访问条件码:见p125

跳转指令:见p128

条件传送指令:见p142

 

 

信息的表示和处理

1字=2字节=16位

char 字节 1字节

short 字 2字节

int 双字 4字节

long int 双字 4字节

long long int (不支持) 4字节

char * 双字 4字节

float 单精度 4字节

double 双精度 8字节

long double 扩展精度 10/12字节

 

 

处理器体系结构

push %ebp <==> subl $4,%esp

                            movl %ebp,(%esp)

popl %ebp <==> movl (%esp),%ebp

                           add $4,%esp

leave <==> movl %ebp,%esp

                   popl %ebp

 

 

存储器层次结构

磁盘容量=字节数/扇区*平均扇区数/磁道*磁道数/表面*表面数/盘片*盘片数/磁盘

 

T avg rotation=1/2 * T max rotation=1/2 * (60/旋转速率) * 1000

T avg transfer=80/旋转速率 * 1/每条磁道的扇区数 * 1000

T access=T avg seek + T avg rotation + T avg transfer

 

高速缓存

S=2^s

E

B=2^b

m=logM

 

M=2^m

s=logS

b=log

t=m-(s+b)

C=B*E*S

 

期中总结

标签:

原文地址:http://www.cnblogs.com/huyufeng/p/4927692.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!