嵌入式Linux C语言面试试题(6)

三.3、综合编程题。
要求:
1、完成需求,程序运行正确。
2、工作原理文档,使用文档完整。
3、代码规整优美。注释得当。
4、运行速度足够快。

1、-----------------------------------------------------------
本题(20分)。写一个程序,有三个功能:
a)取得CMOS中的当前时间,按照YY:MMD:HH:MM:SS格式输出。
b)取得物理内存的大小,格式化输出。
c)取得从物理段地址F000:FFF0起,16个字节的值,每字节按照16进制格式输出。

2、-----------------------------------------------------------
本题(20分)。对串口编程,编写一对类似ping的程序,作用在串口上,了解serial的联

通情况。
定义协议
要求:
定义一个联通和响应协议。至少具有:发送、回复、超时三种状态。除超时状态外,所


状态的数据必须经过校验才可使用。

ping_serial_client
要求:
1,发送数据包;
2,等待回复数据包,直到超时;
3,如果有回复数据包,对数据包进行校验;
4,计算校验通过的数据包之间的时间差;
5,重复直到用户退出;
6,统计丢包率,时间。
界面:
bash# ping_serial_client /dev/ttyS0 baud_value
??bytes from ttyS0, time=??ms
......
^C
--- ttyS0 ping statistics ---
?? packets transmitted, ?? received, ??% loss
time ??ms, min/avg/max = ??/??/?? ms

ping_serial_server
要求:
1,等待对方的发送数据包;
2,对发送数据包进行校验;
3,校验通过则回复数据包;
4,重复直到用户退出;

界面:
bash# ping_serial_server /dev/ttyS0 baud_value

3、-----------------------------------------------------------
编写一对socket程序,要求类似于network echo procotol。
Client每隔1秒把自己的IP地址轮流循环发送给一个Server.
Server接到IP后,在屏幕上打印对方IP;然后把自己的IP发送回去。
Client收到回复后,在屏幕上打印对方IP。
程序一直运行,直到用户退出。各自分类统计接收到的各IP的数据包的个数。
注意:Client可以向多个Server发送请求,Server也可以接收多个Client请求。
注意:输出信息的美观,和对错误的处理。
-----------------------------------------------------------

四、C++题目。

-----------------------------------------------------------

1。给定下面的代码:

class Graph{
public:
Graph() { s_gCount++; }

virtual ~Graph() { s_gCount--;}

virtual int drawOut() = 0;

static int getTotalCount() { return s_gCount; }

protected:
int m_x;
int m_y;
static int s_gCount;
};

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwsfwz.html