runtime-test

runtime-test

一般来说,我们的测试代码是测试自己写的代码,测试模块的功能,但如果我们想自动化测试一个.py文件或者exe程序,就完全不一样了
如何自己写一个简易的测评姬?就是实现自动读取样例和输出样例对比来确定程序是否正确

思路:启动一个子线程,将子线程的输入输出流重定向方便我们获取,然后样例标志答案保存至文件,读取即可。

需要用到Python的subprocess模块

Read more
unit-test

unit-test

自动化测试

不同于C和Java等语言编写的程序,Python只有在运行中才会检查一些错误,因此只有在运行和测试程序时,才会知道它是否能够正常的运行。
为了解决这个问题,就有了用于测试,调试和探查Python代码的技术和库模块。

Read more
win32-API

win32-API

C++控制台编程

我们的控制台文本窗口是基于win32 api实现的
我们以例子来学习这种编程的方法:
控制台程序的外观和操作就像MS-DOS窗口一样,控制台有一个输入缓冲区以及一个或多个屏幕缓冲区:

  • 输入缓存区(input buffer)包含一组输入记录(input records),其中每个记录都是一个输入事件的数据。输入事件的例子包括键盘输入,鼠标点击,以及用户调整控制台窗口大小
  • 屏幕缓冲区(screen buffer)是字符与颜色数据的二维数组,他会影响控制台窗口文本的外观

例1:

1
2
3
4
5
6
7
8
9
#include <stdio.h>
#include <windows.h>
int main()
{
printf("Hello World!\n");
Sleep(1000);
system("cls");
return 0;
}

我们发现这个程序和我们的一般的hello world程序不同,它实现的功能是在1000ms后清空控制台的内容,使用了sleep和system命令。

Read more
汇编实验

汇编实验

最后一批有意思的练习题

写在前面

  • 终于完成了Intel x86汇编的习题(我认为应该写的)+基础知识,基本上花了3周左右(除去假期中间的咕咕咕极长时间),可喜可贺,也该开学了。
  • 不coding死路一条
  • 不要停下来啊(指学习)
  • 下一阶段的目标就是数学+算法+Python网络编程
  • 不学数学读研死路一条

什么,你说假期里的前端学习?咕咕咕
汇编代码咋高亮啊,好像不支持…

Read more
汇编基础

汇编基础

字符串和数组

如果可以有效的处理字符串和数组,就能掌握代码优化中的最常见情况。研究表明,绝大多数程序用90%的运行时间执行其10%的代码。毫无疑问,这10%通常发生在循环中,而循环正是处理字符串和数组所要求的结构。本节以编写高效代码为目的,阐释字符串和数组的处理技术

Read more