嵌入式系统linux编程题,嵌入式Linux C语言面试试题

三、Linux编程基本使用知识。

三.1、命令和shell

1)编写一个脚本,统计一个目录下面所有C代码的行数。(2分)

2)编写一个sed脚本,去除HTML文件中的HTML标记。(2分)

3)编写一个脚本获得当前系统eth0的IP地址。(2分)

4)编写一个脚本以交互的方式,进行DNS的设定。(2分)

5)使用ls命令编写一个脚本,实现ls -R,递归列出当前目录下的所有目录、文件。(2

分)

6)-----------------------------------------------------------

在一个目录下,找soft-link files,用下面的命令,原理是可行的,但无法操作,

该如何解决?要2种方法。(2分)

ls -l | grep ->

7)-----------------------------------------------------------

如何把标准错误输出,重定向到标准输出上。(2分)

8)-----------------------------------------------------------

我们的系统中的软件包是使用RPM管理的。要求下面的问题写出shell命令和运行结果。(

5分)

如何知道系统中安装了几个软件包。

如何知道系统中安装了哪几类(group)软件包。

如何知道kernel软件包的简述。

如何知道kernel软件包的Changelog。

如何知道kernel软件包有几个文件。

如何知道kernel软件包安装后有多大。

三.2、编辑工具的使用。(各2分)

1)如何使用vi进行块拷贝、粘贴、删除的操作

2)如何设置Tab的长度,以及自动缩进的长度

3)如何使用tag进行代码阅读

4)如何在1~10行,有确认的进把所有的RedHat改为RedFlag

5)在SourceNavigator中,如何跳到一个变量的声明处?如何得知光标当前的位置在那

个函数体内?

三.3、编译器与调试器。(各2分)

1)如何使用gcc得到宏展开的中间代码

2)如何通过gcc在命令行中传入宏定义

3)在那一级优化的情况下,内联函数才真正的内联到代码中

4)gdb的watch命令如何使用,有何缺点

5)gdb中使用什么命令可以显式调用的栈帧,如何查看某个栈帧上的局部变量

6)如何使用gdb调试多进程

7)如何使能/禁止core dump?

三.4、库。(各2分)

1)如何知道XSetIMValues这个符号在那个X的库文件中

2)如何读取C++的符号名,更具可读性

3)请解释动态库的soname概念

4)解释在链接时rpath选项的含义

三.5、Makefile。(10分)

如果有一个简单的Test项目目录如下:

# tree Test

Test

|-- common.h

|-- main.cpp

|-- test.cpp

`-- test.h

1)使用wildcard、patsubst函数编写一个C++项目的Makefile文件

2)使用automake、autoconfig编写一个支持configure选项的configure.in脚本

三.6、CVS。(10分)

1)如果一个CVS项目中,甲添加了一个子目录模块,那么乙在update时是否会自动检

出这个新添加的子模块?如果不能,那么你有什么好的解决方案?

2)如何在一个CVS项目中添加一个二进制文件,这个二进制文件可以进行增量的版本管

理吗?

3)如何检出标记(tag)为milestone-1的版本,如何创建以milestone-1为基础的分支

milestone-1-b1,并如何把分支的修改合并到milestone-1的主分支上

三.7、Linux/GNU编程基本知识

1、-----------------------------------------------------------

Linux2.4.x有多少种类型的设备文件?分别写出来。(2分)

2、-----------------------------------------------------------

glibc动态库的搜寻次序是什么?(2分)

glibc 2.1.x 与 2.2.x的动态库的搜寻次序有什么不同?为什么会采用现在的方案?(2分)0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值