随笔分类 -  Linux系统编程

摘要:在Windows下我们习惯的操作,复制单个字符,复制单行多行,删除单行多行,在linux的vim中操作如下: G(shift+g+g):跳到文档尾 g+g:跳转到文档首 home键:光标移动到行首 end键:光标移动到行尾 yy:复制光标所在行的整行内容 yw:复制光标所在单词的内容 nyy:复制从 阅读全文
posted @ 2017-03-03 17:07 Crystal_Guang 阅读(994) 评论(0) 推荐(0)
摘要:nm用于列出程序文件中的符号。建立nmtest.c文件: nm的第一列是指程序运行时符号在内存中的地址,它表示函数或变量的开始地址;第二列是指相应的符号放在哪个段,最后一列则是符号的名称。 第二列的信息对我们非常有用,可以让我了解在程序中所定义的一个符号是被放在程序的哪一个段的。下面列出常见字母含义 阅读全文
posted @ 2017-02-26 11:27 Crystal_Guang 阅读(679) 评论(0) 推荐(0)
摘要:1.如果要将多个.o文件生成一个库文件,则存在两种类型的库,一种是静态库,在linux里面后缀是.a,另一种是动态库,后缀为.so。 当可执行程序要与静态库进行链接时,所用到的库中的函数和数据会被拷贝到最终的可执行程序中。而采用动态库则不会,程序加载器在后台为我们讲所需的动态库自动加载到内存中且保证 阅读全文
posted @ 2017-02-25 16:22 Crystal_Guang 阅读(1046) 评论(0) 推荐(0)
摘要:addr2line用于得到程序指令地址所对应的函数,以及函数所在的源文件名和行号。 在不少嵌入式开发环境中,编译器的名称往往不是gcc,而是想arm-rtems-gcc这样的,对于这种命名形式的编译器,读者通常可以找到arm-rtems-addr2line ,arm-rtems-objdump等相应 阅读全文
posted @ 2017-02-23 20:28 Crystal_Guang 阅读(16008) 评论(2) 推荐(1)
摘要:选择一个目录创建一个Makefile文件; 注意第二行的开头需要时TAB建空开,不要用空格 执行make make的时候,无论你创建的是makefile还是Makefile都可以识别 ,不在乎开头的字母是否大写。 makefile中的第一个重要概念是目标(target),all就是一个目标,目标名放 阅读全文
posted @ 2017-02-16 22:28 Crystal_Guang 阅读(290) 评论(0) 推荐(0)
摘要:windows10和ubuntu16.04双系统,装完后,在windows下时间不对,之前的老办法是: 1 sudo gedit /etc/default/rcS 2 utc=yes 改成utc=no 然而我的16.04并没有这个。继续寻找, sudo timedatectl set-local-r 阅读全文
posted @ 2017-02-13 22:45 Crystal_Guang 阅读(1809) 评论(0) 推荐(0)
摘要:类Unix系统目录结构ubuntu没有盘符这个概念,只有一个根目录/,所有文件都在它下面/ 根目录bin //系统可执行程序,如命令boot //内核和启动程序,所有和启动相关的文件都保存在这里grub //引导器相关文件dev //设备文件etc //系统软件的启动和配置文件,系统在启动过程中需要 阅读全文
posted @ 2017-02-11 17:40 Crystal_Guang 阅读(400) 评论(0) 推荐(0)