关闭

Keil Debug(printf) Viewer的使用

在Keil IDE中,如何用printf向Debug(printf) Viewer窗口打印结果?...
阅读(216) 评论(0)

队列的C语言实现(通过内核链表)

win7操作系统+Keil 5 IDE. 用内核链表实现通用队列; 适合单片机程序;...
阅读(108) 评论(0)

程序员面试系列——大小端

大端、小端是“字节顺序”里面的概念。字节顺序可以分为大端序、小端序、混合序。...
阅读(156) 评论(0)

活用内核链表解决约瑟夫斯问题

约瑟夫斯问题(有时也称为约瑟夫斯置换),是一个出现在计算机科学和数学中的问题。在计算机编程的算法中,类似问题又称为“约瑟夫环”,也有的地方叫做“丢手绢”。问题是这样的: 有编号从1到n的n个人围坐成一圈。从编号为1的人开始报数,报到m的人出局,下一位再从 1 开始报数,报到 m 的人出局,……如此持续,直到剩下一人为止,假设此人的原始编号是x。给定 n和 m,求出x。...
阅读(131) 评论(0)

程序员面试系列——有符号数的溢出

请看这样一道题:#include #include int main(void) { signed char a[1000]={0}; for(int i=0; i<1000; ++i) a[i] = -1 - i; printf("%lu\n",strlen(a)); return 0; }请问此程序输出什么...
阅读(106) 评论(0)

合并排序的非递归实现(自底向上设计)

上一篇博文,讨论了合并排序的递归实现。这篇文章,说说合并排序的非递归实现。...
阅读(82) 评论(0)

程序员面试系列——合并排序(递归实现)

合并排序,或者叫归并排序,在算法思想中属于分治法。对于一个需要排序的数组,合并排序把它一分为二,并对每个子数组递归排序,然后把这两个排好序的子数组合并为一个有序数组。本文要介绍两种实现,都是基于递归(自顶向下)。这两种实现没有本质的差别,第二种只是为了节省内存,提高效率。...
阅读(93) 评论(0)

程序员面试系列——插入排序

插入排序在算法思想中属于“减治法”。减治法的基本思想是:规模为n的原问题的解与较小规模的子问题的解之间具有某种关系。由于存在这种关系,所以只需求解其中一个较小规模的子问题就可以得到原问题的解。插入排序就是基于“减治法”中的“减一技术”实现的。...
阅读(98) 评论(0)

程序员面试系列——选择排序

选择排序也属于蛮力法。 首先,扫描整个列表,找到最小的元素,将其和第一个元素交换位置;然后从第二个元素开始扫描列表,找到最小的元素,再将其和第二个元素交换位置……直到从倒数第二个元素开始扫描列表,找到最小的元素,将其和倒数第二个元素交换位置。...
阅读(78) 评论(0)

程序员面试系列——冒泡排序

虽然冒泡排序是排序算法里面最简单的一种,但是不可轻视。我在应届生的面试和社招的面试中,都被问到了冒泡排序。基本思想:冒泡排序属于蛮力法,它比较表中的相邻元素,如果它们是逆序的话就交换它们的位置。重复多次后,最终,最大的元素就“冒”到列表的最后一个位置。第二遍操作将第二大的元素“冒”出来。这样一直重复,直到n-1遍(列表共有n个元素)以后,该列表就排序好了。...
阅读(87) 评论(0)

程序员面试系列——约瑟夫环

约瑟夫斯问题(Josephus Problem)约瑟夫斯问题(有时也称为约瑟夫斯置换),是一个出现在计算机科学和数学中的问题。在计算机编程的算法中,类似问题又称为“约瑟夫环”,也有的地方叫做“丢手绢”。问题是这样的: 有编号从1 到n的 n个人围坐成一圈。从编号为1的人开始报数,报到 m 的人出局,下一位再从 1 开始报数,报到 m 的人出局,……如此持续,直到剩下一人为止。...
阅读(253) 评论(0)

程序员面试系列——单链表的反转

单向链表的反转(或者叫逆置)是经常被问到的考题。建议考前临阵磨枪,强背一波。代码说明:void reverse_list(node_t *head)此函数实现带头结点(也叫表头、哑结点)的单链表的反转。 head是头结点的地址。...
阅读(141) 评论(0)

patch命令用法

作为程序员,了解diff和patch命令是非常必要的。比如说发现某个项目有bug,而自己又没有提交权限,此时最合适的解决方法就是用diff命令做一个补丁发给组长。组长看到补丁后会立刻明白你的意图。 有人说直接传一个工程不就完了?不要忘了,补丁文件尺寸更小传输更快,而且可以明显看到都做了哪些修改。就算你把修改后的工程传过去,组长还需要用对比工具查看做了哪些修改,这样费时费力。...
阅读(258) 评论(0)

用diff命令制作补丁

diff命令及常用选项命令格式diff [选项] old_file new_file以上old_file 和new_file可以是文件,也可以是文件夹。常用选项 选项 说明 -r 递归比较各子目录下的文件 -N 将不存在的文件当作空文件 -u 默认输出每个修改前后的3行,也可以用-u5等指定输出更多上下文。 -B 忽略对空行的比较 -w 忽略所有空格和制...
阅读(116) 评论(0)

面对offer,如何选择

不管是应届生还是有工作经验的人,在求职时都会面临offer(假如有多个)的选择问题。即使不是多个offer,在工作机会出现的时候,如何决定去留呢?究竟选哪个公司?是留在这个公司还是离职去其他公司?当你纠结的时候,“生涯决策平衡单”帮你拿主意,变“纠结”为“理智的选择”。你最看重什么不同的人对工作的期待是不一样的:有人觉得一定要少加班,按时上下班最好;有人觉得一定要有兴趣,工作内容必须是自己喜欢的;有...
阅读(171) 评论(0)

ARM MOV指令对立即数的要求

MOV R1,#9 以上指令表示把9传送到寄存器R1中。需要注意的是,这里的立即数是有要求的,不是说任何一个立即数都可以。要求是:立即数可以由一个8位的常数循环右移偶数位得到。其中循环右移的位数由一个4位二进制的两倍表示。如果立即数记作immediate,8位常数记作immed_8,4位的循环右移值记作rotate_imm,则 immediate=immed_8循环右移(2*rotate_imm...
阅读(261) 评论(0)

Linux bzip2/gzip/zip/tar 命令详解

*.bz2 | bzip2 | bzip2 -d *.gz | gzip | gzip -d *.zip | zip -r | unzip *.tar | tar -cf | tar -xf *.tar.bz2 | tar -cjf | tar -xjf *.tar.gz | tar -czf | tar -xzf...
阅读(602) 评论(0)

烧写文件系统——韦东山嵌入式Linux学习笔记11

本文实验环境: 1. windows 7(64bit) 2. JZ2440(V2)使用 u-boot 烧写文件系统,一般有两种方法。 1. 通过USB下载功能 2. 通过TFTP功能通过USB下载功能烧写文件系统这种方法比较简单。...
阅读(385) 评论(0)

使用 u-boot 烧写内核——韦东山嵌入式Linux学习笔记10

本文实验环境: 1. windows 7(64bit) 2. JZ2440(V2)使用 u-boot 烧写内核,一般有两种方法。 1. 通过USB下载功能 2. 通过TFTP功能通过USB下载功能烧写内核操作步骤:...
阅读(213) 评论(0)

使用u-boot的tftp下载功能烧写程序到Nand Flash ——韦东山嵌入式Linux学习笔记09

本文实验环境: 1. windows 7(64bit) 2. JZ2440(V2)操作步骤: (1)设置好开发板和PC的IP地址,使开发板可以 ping 通 PC (2)启动软件tftpd32,选择要下载的程序所在的目录 .........
阅读(440) 评论(0)
145条 共8页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:147955次
    • 积分:2899
    • 等级:
    • 排名:第13481名
    • 原创:143篇
    • 转载:2篇
    • 译文:0篇
    • 评论:59条
    博客专栏
    最新评论