嵌入式操作系统Linux开发工具:
编译器:gcc
vim粘贴: p 复制整行 nyy 删除:dd ndd(多行) 恢复:u
查找:/+查找内容 或 ?+查找内容
替换:s/hello/hi 将hello替换为hi(第一个) s/hello/hi/g(替换全行) 5,10 s/hello/hi/g(5到10行) 5,10 s/hello/hi/gc (5到10行每个询问是否替换)
%s/hello/hi/g (全文) g:全行 c:询问 %:全文替换
另存为:3,12 w demo.c (3到12行另存到) r demo.c() w为写 r为读
多文件编辑:vim+多个文件 n demo.c(跳转到demo.c)n+空格+文件名 files:查看所有编辑文件 法二:底行模式下 sp+分屏显示的文件 Ctrl+w+g 下一个 Ctrl+g+w 上一个
Ctrl+n 补全检索内容
Linux开发工具
编译器gcc(编译选项、静态库和动态库的制作和使用)
gcc的特点:能过实现交叉编译 ***交叉编译:在当前CPU平台能够编译出在其他CPU平台运行的代码 不同CPU有不同的汇编
预处理 编译 汇编 链接 硬件的复杂操作用:c
预处理:头文件展开 宏替换 条件编译 预处理指令 #line #error
只进行预处理 :gcc -E 文件名 预处理不检查语法错误
gcc-S 文件名 编译阶段检查语法错误
gcc-c 生成目标文件 汇编阶段
链接:建立符号表
gcc 文件名(demo.c) -o 重命名 (demo)
gcc-w 关闭警告 gcc-wall 警告打开
库文件:保存函数和变量 只能使用 不能看到其实现 静态库:使用静态库编译程序 是在编译时加载 后缀 .a 动态库:使用动态库编译程序 是在运行时加载 后缀 .so
区别:静态库生成的程序较大 占用内存大 后者反之
Linux的库文件存放位置:/lib /usr/lib