嵌入式linux笔试题目一、 简答题:
1.请写出实现后面几个功能的Linux命令:显示文件,拷贝,删除
Ls cp rm
2.do……while和while……do有什么区别?
Do…while是先执行一次循环体内的代码然后在判断,而while….do则是先判断一下条件,然后在执行。Do…….while如果是不满足条件也会执行,一定会执行一次。
3.Linux系统下.ko文件是什么文件?.so文件是什么文件?
Linux系统下.ko是模块文件,比如驱动之类的。.so是动态链接库文件
4.如何使用vi进行块拷贝、粘贴、删除的操作
5.在Linux系统中,用来存放系统所需要的配置文件和子目录的目录是 。
/etc 这个目录用来存放系统管理所需要的配置文件和子目录
6.如何使用gcc得到宏展开的中间代码
gcc –E –P xxfile
7.如何使用gdb调试多进程
先ps出进程id,再gdb -a attach上去,b设一个断点,c继续运行就可以了
8.用户进程间通信主要哪几种方式
管道,信号量,消息队列,有名管道
9.解释命令ls -amore具体含义。
-a 输出目录下的所有文件,包括隐藏文件
-m 横向输出文件名,并以’,’隔开
-o 显示文件除组外的详细信息
-r 对目录反向排序
-e 输出时间的全部信息,而不是简要信息
10.LINUX中的管道指什么,重定向又指什么
管道是一种两个进程间进行单向通信的机制。因为管道传递数据的单向性,管道又称为半双工管道。数据只能由一个进程流向另一个进程(其中一个读管道,一个写管道);如果要进行双工通信,需要建 立两个管道。
管道只能用于父子进程或者兄弟进程间通信。,也就是说管道只能用于具有亲缘关系的进程间通信。
11.请写出下列代码的输出内容
#include “stdio.h”
main()
{
int a,b,c,d;
a=10;
b=a++;
c=++a;
d=10*a++;
printf("b,c,d:%d,%d,%d",b,c,d);
return 0;
12.编写一个函数intcharnum(charfn[10]),该函数以只读方式打开文件fn,,通过统计,返回文件中字符的个数,请使用while循环实现计数功能。
请勿修改主函数main和其他函数中的任何内容,仅在函数charnum的花括号中填写若干语句。
文件kt7_2.cpp的内容如下:
#include
#include
#include
intcharnum(charfn[10]);
voidmain()
{
intnum;
num=charnum("abc.txt");
}
cout<<"num="<
intcharnum(charfn[10])
{
}
二、编程题
13.如果有一个简单的Test项目目录如下:
# tree Test
Test
|-- common.h
|-- main.cpp
|-- test.cpp
`-- test.h
1)使用wildcard、patsubst函数编写一个C++项目的Makefile文件
2)使用automake、autoconfig编写一个支持configure选项的configure.in脚本
14.编写一个hello world程序,要求以创建进程的方式打印Hello World!
15.打开一个文件,并读取从第100字节开始的50字节数据。
16.编写一对socket程序,要求类似于network echo procotol。
Client每隔1秒把自己的IP地址轮流循环发送给一个Server.
Server接到IP后,在屏幕上打印对方IP;然后把自己的IP发送回去。
Client收到回复后,在屏幕上打印对方IP。
程序一直运行,直到用户退出。各自分类统计接收到的各IP的数据包的个数。
注意:Client可以向多个Server发送请求,Server也可以接收多个Client请求。
17.请描述Linux下程序开发到执行的工作流程(结合自己的项目经历)。
18.结合自己的学习或工作感受简述Linux与Windows编程的区别,嵌入式Linux与Windows的嵌入式OS(如XPE、WinCE)的区别。