关闭

欢迎使用CSDN-markdown编辑器

GDB调试技巧整理写在前面最近工作中在进行C语言主机进程相关的开发工作,相关开发工作不依赖与IDE进行,编译环境和运行环境分离(编译是在独立的编译机上进行,编译产生bin文件之后再拿到运行环境中进行使用)。好的调试工具对于整个开发过程而言是有着非常重要的意义的,它就像人类的眼睛一样,可以让开发者清楚的了解到程序的运行情况。而对于C语言的调试而言,GDB工具是非常实用的工具,也是非常基础的手段。...
阅读(226) 评论(0)

Makefile 中:= ?= += =的区别

在Makefile中我们经常看到 = := ?= +=这几个赋值运算符,那么他们有什么区别呢?我们来做个简单的实验 新建一个Makefile,内容为: ifdef DEFINE_VRE     VRE = “Hello World!” else endif ifeq ($(OPT),define)     VRE ?= “Hello World! First!” endif...
阅读(224) 评论(0)

Ubuntu下,清屏等终端常用命令

# ctrl + l - 清屏 。 cLear # ctrl + c - 终止命令。  # ctrl + d - 退出 shell,好像也可以表示EOF。  # ctrl + z - 将当前进程置于后台,fg还原。  # ctrl + r - 从命令历史中找 。 Reverse-i-search # ctrl + a - 光标移到行首 。 A # ctrl + e - 光标移到行尾。 ...
阅读(833) 评论(0)

集线器、交换机、路由器、网桥、网关之间的区别

集线器(HUB)   集线器就是将网线集中到一起的机器,也就是多台主机和设备的连接器。集线器的主要功能是对接收到的信号进行同步整形放大,以扩大网络的传输距离,是中继器的一种形式,区别在于集线器能够提供多端口服务,也称为多口中继器。集线器在OSI/RM中的物理层。集线器的基本功能是信息分发,它把一个端口接收的所有信号向所有端口分发出去。一些集线器在分发之前将弱信号重新生成,一些集线器整理信号的时序...
阅读(750) 评论(1)

Contiki之makefile分析(续)

目标文件生成的相互依赖关系            Makefile的最终目的是为了生成可执行的目标文件,所以makefile文件的最终是归结于一系列的更新目标文件        的命令,命令主要包含:系统命令(GCC、SDCC等),命令执行的选项,命令执行的源文件等等。      本微博我们从最终的目标文件入手来探究目标文件生成的相互依赖关系。 make命令执行后目标的匹配...
阅读(625) 评论(0)

Contiki-sensinode之makefile分析

写在最前面:本博客不算是原创博客,在查看了crystal736 关于contiki2.6之Makefile的详细解读系列博客之后,对 于此部分内容有一定的理解,结合自己的理解对相关的知识进行整理归纳。另外本文分析的是Contiki-sensinode分 支,因为实验是关于contiki在cc2530平台下的udp-ipv6实验,这个实验在contiki2.7的源代码中的栈空间的管理存在一 定...
阅读(454) 评论(0)

The Contiki build system

The Contiki build system ======================== Makefiles used in the Contiki build system The Contiki build system is composed of a number of Makefiles. These are: * Makefile: the project...
阅读(317) 评论(0)

window 与ubuntu12.10共享文件 hgfs下为空和不用每次挂载hgfs的方法

解决hgfs为空的方法: sudo apt-get install open-vm-dkms sudo mount -t vmhgfs .host:/ /mnt/hgfs 解决每次都要挂载的方法: 1、确保VMware中为Ubuntu已经成功设置Shared Folders,并且选中Always enabled。 2、启动Ubuntu,登入系统后,本以为已经自...
阅读(678) 评论(0)

H公司培训1

今天又幸参加了H公司的培训,此处简单的写一下感触,作为第一篇博文。        今天听到一句话“计算机科学是一门人造科学”,我觉得这句话的描述很准确,计算机只是换了一种视角来描述这个世界,作为一门人造科学,计算机科学在很多方面是追求正确性的,唯一性的。不像自然科学中的很多事情存在很多的可能性。       今天培训的主题是"代码的低级错误案例",很多低级的代码往往会在不经意间产生非常重大的...
阅读(465) 评论(0)

etimer_process功能代码分析

创建时间:2014-11-24 9:10   修改时间:2014-11-24 15:55   p://blog.chinaunix.net/uid-9112803-id-2977913. contiki源代码中对于etimer_process的功能代码的实现中存在函数片段的混定义,所以理解起来有一定的难度,通过将相关的宏定义展开有得到上图左...
阅读(529) 评论(0)

contiki任务调度机制分析

contiki任务调度机制分析 创建时间:2014-11-20 21:34   修改时间:2014-11-25 22:30   【目录Index】 事件进程的数据结构初始化中断的实现 systick的实现中断服务程序 任务的调度 【博客正文】      contiki是事件驱动型操作系统,它有一个事...
阅读(935) 评论(0)

C语言中的#,##

近日在分析contiki操作系统的源代码,其中有一段da...
阅读(320) 评论(0)

C语言的那些小秘密之断言

如果出于一般性的学习C语言,应付考试的话,我想很少有人会在代码中使用断言,可能有的人在此之前从来没有使用过断言。那么断言的使用到底能给我们的代码带来什么呢?我尽可能的把我所理解的断言的使用讲解清楚,希望我在此所讲的断言能够对你有所帮助,让你以后能够在代码中灵活使用断言。...
阅读(343) 评论(0)

函数可重入性理解

在维基百科和其他朋友的帖子里找到了相关概念。为了帮助自己今后理解,特地将此概念加上自己的理解整理在此。...
阅读(308) 评论(0)

求一个整数的二进制中1的个数

题目:输入一个整数,求该整数的二进制表达中有多少个1。例如输入10,由于其二进制表示为1010,有两个1,因此输出2。 分析:这是一道很基本的考查位运算的面试题。包括微软在内的很多公司都曾采用过这道题。 一个很基本的想法是,我们先判断整数的最右边一位是不是1。接着把整数右移一位,原来处于右边第二位的数字现在被移到第一位了,再判断是不是1。这样每次 移动一位,直到这个整数变成0为止。现在...
阅读(419) 评论(0)
71条 共5页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:64045次
    • 积分:1085
    • 等级:
    • 排名:千里之外
    • 原创:39篇
    • 转载:32篇
    • 译文:0篇
    • 评论:8条
    最新评论