2010年我们公司研发新员工培训相对09年来说,最大的改变就是增加注重提升编程能力。方法就是每日完成一个编程题目,每个题目设计一个技术的。下面是这些题目:
实现一个链表,完成链表的插入,查找,删除
typedef struct _FIFO_M{
void *pdata;
struct _FIFO_M *pNext;
}FIFO_M,* pFIFO_M;
typedef struct _FIFO{
pFIFO_M head;
pFIFO_M tail;
pFIFO_M pos;
int mcount;//节点个数
int max_count;//节点最大个数。
}FIFO,* pFIFO;
FIFO g_fifo;
int Fifo_Add(pFIFO mfifo,void * pdata);/*向队列中压入一数据,添加到队列头部*/
int Fifo_Push(pFIFO mfifo,void * pdata);/*向队列中压入一数据,添加到队列尾部*/
void * Fifo_Pull(pFIFO mfifo); /*将队列头部成员出列*/
已有文件A.txt,B.txt。
A的内容:abcd.
B的内容:123456。
要求:
调用Linux文件操作系统函数:
1、读出文件B的内容,缓存起来。
2、读出文件A的内容,以覆盖的方式写入文件B中。
3、将上面缓存的B的文件的内容以追加的方式写入文件B中。
最终B的内容为:
abcd123456
字符串操作:
主要目的是熟练掌握Linux字符串操作函数。
1、有字符串:"21adf-458/dsf*d34;sd",以-、/、*、;是个字符为分隔符,将上面的字符串分解为多个个字符串:
21adf,458,dsf,d34,sd。
2、一个int类型值(大小未知):int iMsgType = 1000;要求,构造一个字符串,字符串的内容为:"receive msg from cscf,msg type is [1000]"
3、有字符串:"<count>5000</count>",获取<count>和</count>之间的数值(值大小未知),并输出(打印)为int类型的值。
不要使用系统函数,实现strcpy和strncpy功能。具体功能参加Linux系统函数。
今天主要是系统时间的操作:
1、获取当前系统时间,并分别打印出当前时间的:年,月,日,时,分,秒,毫秒,微妙。
2、分别以下面格式打印出当前的时间:2010-04-15 15:12:12;
时间进一步操作
1、已知两个时间字符串:2010-04-15 15:12:12和2010-04-15 15:15:12,如何计算他们之间相差的毫秒数。
2、有一个int类型变量,初始值为0,要求每个10ms自增1,一直增加到10000。总共用时约10s,要求时间误差控制在10ms以内。
此次仍然是操作系统时间。
1、使用系统函数strftime获取当前时间的字符串,格式为:2010-04-15 15:12:12。
2、使用系统函数strptime根据字符串2010-04-15 15:12:12和2010-04-15 15:15:12获取时间的结构体:struct tm,并且根据此结构体获取两个时间相差的毫秒数。
今天的题目是linux 网络编程——UDP
1、建立两个UDPsocket——A和B(非阻塞模式)。
2、将下面的内容从其中的一个A socket发送到另外一个B socket,并且将B收到的内容打印出来。
3、B再将收到的消息发回给A。A收到后打印出来。
UDP收包的时候,会首先放在一个缓冲区中,调用recvfrom函数的时候,会将缓冲区的内容读出。
写一个小程序,测试一下,看看这个缓冲区默认是多大。
另外,调用系统函数,更改缓冲区的大小,并测试更改结果。
分享到:
相关推荐
Linux应用程序开发标准教程——华清远见嵌入式培训教材!
Linux多线程编程知识点总结(C语言)(csdn)————程序
linux安装jdk(csdn)————程序
嵌入式Linux应用程序开发标准教程(第2版)——华清远见
ARM LINUX 嵌入式培训——北京 ARM LINUX 嵌入式培训——北京
-嵌入式Linux C语言程序设计基础教程(微课版)-习题答案
基础的嵌入式开发入门教程 Linux下C语言程序开发
嵌入式linux面试题解析(二)——C语言部分三
俄罗斯方块——linux c语言 俄罗斯方块——linux c语言 俄罗斯方块——linux c语言 俄罗斯方块——linux c语言
鼓励开发Linux应用程序——IBM力推Linux Test Drive.pdf
嵌入式linux面试题解析(二)——C语言部分二
嵌入式LInux方面的经典书籍,主要面向应用,比较基础,
ARM Linux中断源码分析(2)——中断处理流程
Linux pwn入门教程(1)——栈溢出基础
[野火]《嵌入式Linux驱动开发实战指南——基于i.MX6ULL系列》
资深程序员15年开发经验的总结,全面、深入剖析Linux环境C程序设计的精髓 涵盖Linux C编程基础、开发环境、进程操作、文件操作、网路编程和Shell编程 视频教学:专门录制了16.8小时高清配套教学视频,赠送7小时...
基于Linux的Web程序设计——PHP网站开发.rar php+apache+mysql项目源代码,对学习php非常有帮助。
linux下c语言编程1-18\Linux下C语言编——计时器.doc
在linux系统中的一些C语言编译工具的介绍,还有make管理工具的使用
1.4 实验内容——安装Linux操作系统 本章小结 思考与练习 第2章 Linux基础命令 2.1 Linux常用操作命令 2.2 Linux启动过程详解 2.3 Linux系统服务 2.4 实验内容 本章小结 思考与练习 第3章 Linux下的C...