- 博客(12)
- 资源 (3)
- 收藏
- 关注
转载 代码优化--死代码
程序的完整编译过程分为是:预处理,编译,汇编等,如下关于编译阶段的编译优化的说法中不正确的是()A、死代码删除指的是编译过程直接抛弃掉被注释的代码;B、函数内联可以避免函数调用中压栈和退栈的开销C、For循环的循环控制变量通常很适合调度到寄存器访问D、强度削弱是指执行时间较短的指令等价的替代执行时间较长的指令A. 了解编译原理的同学都清楚, 死
2017-01-25 15:44:30 4107
原创 Concurrency
现实生活中,常常有一些活动是一起发生的,比如汽车的转弯,转向灯要亮起来,刹车减少引擎功率等同时进行。SystemC用simulation processes 来模拟并发,事件驱动仿真器,执行一小段code之后,交出控制权给return control to simulation kernel。1. SystemC如何用C++来模拟进程--- 指定特定的函数--- 告诉simulat
2017-01-18 15:56:12 431
原创 sc_set_time_resolution() and sc_get_time_resolution()
1、time resolution is a global variable that is used by the simulation kernel and all objects of sc_time, changes to time resolution are restricted.sc_set_time_resolution() :
2017-01-18 11:09:53 1715
转载 Watchdog
1、在由单片机构成的微型计算机系统中,由于单片机的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞,而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工作,会造成整个系统的陷入停滞状态,发生不可预料的后果,所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的芯片,称"看门狗"。2、watchdog是Linux看门狗。Linux 自带了一个
2017-01-10 16:55:23 553
原创 C/C++面试一
1、C++和C#除了语法上的差别以外,有什么不同的地方?---- 1)C#有垃圾自动回收机制,程序员不用担心对象的回收。---- 2)C#严禁使用指针,只能处理对象。如果希望使用指针,则仅可在unsafe程序块中能使用指针。---- 3)C#只能单继承。---- 4)C#必须通过类名访问静态成员。不能像C++中那样,通过对象访问静态成员。---- 5)在子类中覆盖父类的虚函数时
2017-01-09 13:27:42 411
原创 红黑树
1、红黑树概念--- 红黑树是每个节点都带有颜色属性的二叉查找树,颜色或红色或黑色。在二叉查找树强制一般要求以外,对于任何有效的红黑树我们增加了如下的额外要求:性质1. 节点是红色或黑色。性质2. 根节点是黑色。性质3 每个叶节点(NIL节点,空节点)是黑色的。性质4 每个红色节点的两个子节点都是黑色。(从每个叶子到根的所有路径上不能有两个连续的红色节点)性质5. 从任一节
2017-01-05 10:44:21 203
原创 归并排序法
1、归并排序法(Merge Sort)--- 以下简称MS,是分治法思想运用的一个典范,其主要算法操作可以分为以下步骤:--1)将n个元素分成两个含n/2个元素的子序列--2)用MS将两个子序列递归排序(最后可以将整个原序列分解成n个子序列)--3)合并两个已排序好的序列MS的关键在于Merge过程。对于这一过程的理解,算法导论中给出了一个形象的模型。即假设桌面上有两堆已排好序
2017-01-05 10:30:37 454
原创 二叉树排序
1、二叉树排序--1)一个无序整数数组--2)创建二叉树,数组第一个元素为根结点,数组中下一个元素小于根的值放左边,大于的放右边。--3)中序遍历,结果即为数组从小到大的排序。2、代码实现#include using namespace std;#define dim(x) (sizeof(x)/sizeof(x[0]))void swap(int *x,int *y)
2017-01-03 16:05:57 1196
原创 折半插入排序
1、折半插入排序-定义---- 当直接插入排序进行到某一趟时,对于a[i]来讲,前边i-1个记录已经是有序的。此时可以不再用直接插入排序的方法,而改为先用折半查找法找出a[i]应插的位置,然后再插入。这种方法就是折半插入排序。2、算法思想---1)初始化:设定有序区为第一个元素,设定无序区为后面所有元素---2)依次取无序区的每个元素---3)通过二分法查找有序区,返回比这
2017-01-03 13:53:09 431
原创 快速排序
1、快速排序---- 快速排序(Quicksort)是对冒泡排序的一种改进,由C.A.R.Hoare在1962年提出。它的基本思想是:通过“一趟排序”将要排序的数据分割成独立的两部分,其中左部分的所有数据都比右部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。2、算法过程---- 设要排序的数组是A[0]
2017-01-02 16:34:06 295
原创 顺序查找和二分查找
1、顺序查找---- 又称线性查找,是从数组的第一个元素开始查找,直到找到待查找元素的位置。顺序查找适合于存储结构为顺序存储或链接存储的线性表。使用for循环等实现。int Find(int a[],int x){ int index = -1; for(int i=0;i<(sizeof(a)/sizeof(a[0]));i++) { if(a[i]==x) {
2017-01-02 15:15:27 3220
原创 双向冒泡排序
1、从两边同时进行冒泡排序一次排出一个最大值和最小值,n/2次,即while(left#include using namespace std;#define dim(x) (sizeof(x)/sizeof(x[0]))void swap(int *x,int *y){ int t = *x; *x = *y; *y = t;}//双向冒泡:从数组两端同时进行冒泡v
2017-01-02 14:00:26 1303
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人