《信息安全系统设计基础》第二周问题总结

《信息安全系统设计基础》第二周问题总结

首先,这学期我们自己安装了虚拟机。具体的安装步骤和后续的一些使用技巧,娄老师已经帮我们总结好了。还有问题的同学可以继续学习一下。基于VirtualBox虚拟机安装Ubuntu图文教程

其次,第二周大部分同学学习使用了git。这一部分内容,我们在上学期的java课上已经用了一学期了,但是一部分同学还是不能成功上传代码。个人认为学会之后,一步步按照标准来做的话,还是可以很简单的的将代码推送至码云的。
关于如何在Ubuntu下git的安装与使用。
这里是娄老师根据大家的问题写出的代码驱动教程,是step by step 的教程,非常有用,大家一定要仔细看一下。
娄老师step by step 的教程
同时也有同学自己总结的--卢肖明同学和王嘉澜的教程,其中有git的基本操作的详细步骤,就不在此进行赘述。
卢肖明关于git的总结
王嘉澜关于git的总结

最后是关于vi的基本操作。做中学之Vim实践教程 这个是娄老师总结的一些关于vim的使用方法。我认为vim的相关操作,最初接触时需要学习相当多的技能,但经过大量的实践练习后,只要掌握了这些技能,则将会越来越熟练。

在一下午的时间里,看了52 53班同学们所有的博客。下面是同学们问题总结,发现其中许多同学出现的问题一样,我对有些相同或类似的问题进行了合并,只在第一次遇到该问题的同学的博客下面列出。一些因为自己的马虎(例如输入少了个字母……)之类的问题没有价值,不再进行说明。

20145201
问题:关于gcc部分 用Gvim编辑代码时,储存文件名为hello,不能在Xfce终端里正常运行代码。
解决:需要将文件名直接保存为hello.c。后缀.c为C语言源文件。

20145203
问题:gcc编译错误

解决:其他人也有类似错误,没有头文件,加上头文件之后编译成功。

请大家一定记得要自己编辑相应的头文件。

20145204

  • makefile问题:
    问题:不使用tab键,会出现如下错误。

解决:只需要将你空格的地方改为Tab键即可。

20145206
问题:在自己的电脑上直接输入vimtutor不能直接打开编辑器,需要安装。
解决:在百度上搜索找到解决办法:输入ps aux,找到-apt对应的数字4503,然后输入sudo kill 4503,成功安装!

5208

问题 使用vi敲入:wq 退出保存时,出现 E212:无法打开并写入文件 的错误提示。

解决 这是由于在该目录下当前用户没有写权限导致。在不需要root权限的文件夹中建立文件。或保存文件时用 : w ! sudo tee %(tee 用于读取输入文件,同时保存;%表示当前编辑文件 )

问题 未定义引用

暂时合并到一个c文件中,但正确的解决方式应该不是这样
这里我具体应该如何解决?

5212

问题 老师给出的代码我运行出来后除法的结果总是div为“0”。
解决 具体可以看5216同学的发布的小组话题
实验楼问题

问题:GDB的n(next)命令让GDB执行下一行,然后暂停。 s(step)命令的作用与此类似,只是在函数调用时step命令会进入函数,那么实际使用中应该优先选用哪个?为什么?
GDB的next命令让GDB执行下一行,然后暂停。step命令的作用于此类似,只是在函数调用时step命令会进入函数,而next导致程序执行的暂停出现在下次调用函数时。DDD有对应的Next和Step菜单项。
解答:

next:执行一行源代码但不进入函数内部。
step :执行一行源代码而且进入函数内部。

我认为应该优选step,通过GDB的next命令一次是移动一行代码,而通过step命令单步调试一段时间,更能够仔细检查靠近断点处的程序状态和行为。

5214

问题 将代码制作成一个静态库math.a时一开始出现错误

解决 发现是因为没有用gcc -c先生成静态库

  • 制作共享库math.so
  • 编写makefile,让代码编译,上述静态库和共享库的使用自动化

5215
问题 进行GDB调试时,出现错误:

原因及解决:原因是生成的二进制可执行文件没有使用-g选项。
gcc中-g选项是为了获得有关调试信息,要用gdb进行调试,必须使用-g生成二进制可执行文件

问题 make clean`命令无法执行
解决 尚未解决请老师解答

5219

  • 问题:在用gcc编译c程序时输入gcc hello_print.c hello_main.c -o hello后再查看主文件夹时发现没有多出来新的可执行文件hello,也没有报错。

解决方法:后来发现是因为和前一个可执行文件重名了,改变命令为gcc hello_print.c hello_main.c -o hello_2后生成了一个可执行文件hello_2,运行正确。

5223

  • 问题 运行实验楼的程序出现下面的错误:
    解决:

5226
在程序编译通过之后,不会运行程序,上网查了一些资料之后知道了./文件名是运行程序的

5227
问题1:在xfce用vim的时候, 输入10x,却没有反应,没有像教程说的那样 可以删除10个连续字符。
解决:之前之所以不行,是因为在我指定的那一行上,光标后面已经没有内容了。 由于 10x(小写)命令是删除光标后面的内容的,并且不会删除到下一行的内容。 所以在这种情况下使用该命令时,只会删除光标下的一个字符。10X(大写)则是往光标前面删除。

问题2:在实验环境中,按Esc 无法退回普通界面,刷新界面后也没用。
解决:搜索了一下好像很多人都会有这种问题,有可能是电脑和按键的问题,也有可能是浏览器的原因。后面换了Chrome浏览器就可以了。

问题3:在用Gvim编辑代码时,一开始我储存文件名为hello,并在下方选项里选择保存为.c/.h文件,但是这样保存并不能在Xfce终端里运行打印代码。
解决:需要将文件名直接保存为hello.c,这样就可以运行了。

5229
问题 在第一次的vim敲代码编译过程中,总是出现无法找到该文件
解决 发现在插入模式中输入代码需推出插入模式进入普通模式,shift+zz进行保存,后才可以进行编译

5313
问题 :wq保存退出显示没有文件名
解决:新建文件保存时需要先输入:w <文件名>设置文件名,再:wq保存退出

问题 make命令显示“遗漏分隔符。停止。”
解决:gcc...前不应是空格,应该是Tab键,修改后即可。

5316
)
启动虚拟机时遇到了 “磁盘DISK启动失败”的问题,查阅了相关资料,删除了下列 .lck文件解决了问题

5320
关于无法输入wq的问题
在进入VIm编辑器模式中输入wq可以保存退出,但是我不知道为什么输入wq没有反应。
解决 vim 中保存退出时,先输入“:”,再输入“wq"

5325
问题 怎么进入下一步命令?

解决 使用 中断信号Ctrl+C

5332
问题 教材导读中p451: ELF文件格式:试试readelf命令,输入命令后出现的没有看懂

解答:在看到后面的教材时,发现教材P473写了关于这个命令的解释:显示一个目标文件的完整结构,包括ELF头中编码的信息。包含SIZE和NM的功能

posted @ 2016-11-30 21:22  20145201李子璇  阅读(168)  评论(1编辑  收藏  举报