C/C++
文章平均质量分 63
与你相约
一个混迹江湖的小IT男。至今没有什么作为,但是志向远大。
展开
-
IAR 无法使用Go to definition的功能
IAR 无法使用Go to definition的功能,决绝方案主要有下面几种。 1、首先保证工程目录下面没有中文路径。 2、保证勾选“Generate browse information”一项。或者取消之后,选不编译,再添加,试试。 3、有时会 Go to不到定义的位置,这时我们就要在定义路径的地方加上一句指令“TOOLKITDIRTOOLKIT_DIR\inc”,之后就可以了,如果你也遇原创 2016-10-01 16:10:15 · 13323 阅读 · 3 评论 -
C++ itoa原型,itoa函数原型,转换正数为字符串,转换负数为字符串
/*---------1.转换正数为字符串 (1)用模运算的方法取得最后一位数,将这位数字转换为字符. (2)接着用整除的方法删除这位数字. 再取剩下数字的最后一位,转为字符,删除, 就这样直到将全部数字转为字符. (3)将'\0'之前的所有字符倒置即得到所要的字符串.2.转换负数为字符串 (1)负数转换为正数处理. (2)处理完后,在'\0'之前添加字符'-'. (3)转载 2012-10-20 19:54:16 · 6332 阅读 · 1 评论 -
一个考察递归的选择题
#includevoid e(int ); main(){ int a; a=3; e(a);}void e(int n){ if(n>0) { e(--n); printf("%d" , n); e(--n); }}这段程序的输出是:(a) 0 1 2 0(b) 0 1 2 1(c) 1 2 0 1(d) 0 2 1原创 2012-10-20 21:52:19 · 722 阅读 · 0 评论 -
使用预声明解决结构体互相引用以及头文件内容互相包含的问题
首先声明,简单的头文件重复包含问题不在此文的讨论范围之内,此问题可以通过下面的文件格式进行解决。#ifndef __filename_h__#define __filename_h__/* code */#endif 我们这里讨论的头文件互相包含是文件中的内容有互相引用的情况。比如test_a.h文件中定义了结构体TEST_A_S,test_b.h文件中定义了转载 2012-10-19 20:47:09 · 11225 阅读 · 0 评论 -
嵌入式或LINUX相关研发面试题目
基础试题(C语言) 一、ANSI C/C++方面的知识一.1、简答题。下面的题目必须全部答对才给分(20分):1、 如何在C中初始化一个字符数组。2、 如何在C中为一个数组分配空间。3、 如何初始化一个指针数组。4、 如何定义一个有10个元素的整数型指针数组。5、 s[10]的另外一种表达方式是什么。6、 GCC3.2.2版本中支持哪几种编程语言。7、 要转载 2012-10-19 23:47:13 · 1548 阅读 · 0 评论 -
几种排序的方法
1、冒泡排序(BubbleSort)的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。至此第一趟结束,将最大的数放到了最后。在第二趟:仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第2个数原创 2012-10-19 09:18:10 · 878 阅读 · 0 评论 -
钟表问题(常见面试笔试问题整理)
钟表问题一、问题简介 时钟问题是研究钟面上的时针和分针关系的问题,可以看做是一个特殊的圆形轨道上2人追及或相遇问题,不过这里的两个“人”分别是时钟的分针和时针。 在钟面上每针都沿顺时针方向转动,但因速度不同总是分针追赶时针,或是分针超越时针的局面,因此常见的钟面问题往往转化为追及问题来解。 常见的时钟问题有两种: ⑴原创 2012-10-16 11:17:23 · 11965 阅读 · 0 评论 -
C语言实现十进制转八进制
#include "stdio.h" #include "math.h" main() { int i,n=0,o=0,j=0; scanf("%d",&i); /*改成*/ if(io=i; else { while(i>7) { /*加括号*/ j=i%8; i=i/8; o=j*pow(10,n)+o; n++; } /*加括号转载 2012-09-25 17:22:36 · 6254 阅读 · 0 评论 -
有4种面值的邮票很多枚,这4种邮票面值分别1, 4, 12, 21,取5张 求取出这些邮票的最大连续组合值。
//有4种面值的邮票很多枚,这4种邮票面值分别1, 4, 12, 21,取5张 求取出这些邮票的最大连续组合值。#include #include #define N 5#define M 5int k, Found, Flag[N];int Stamp[M] = {0, 1, 4, 12, 21};// 在剩余张数n中组合出面值和Valueint Combine(int n,转载 2012-10-15 19:53:22 · 5738 阅读 · 1 评论 -
输出7和7的倍数,还有包含7的数字
题目:输出7和7的倍数,还有包含7的数字例如(17,27,37...70,71,72,73...) Input一个整数N。(N不大于30000) Output从小到大排列的不大于N的与7有关的数字,每行一个。 Sample Input20Sample Output71417 ////C代码#include原创 2012-09-25 11:01:44 · 35594 阅读 · 2 评论 -
C语言运算符优先级
优先级运算符名称或含义使用形式结合方向说明1[]数组下标数组名[常量表达式]左到右 ()圆括号(表达式)/函数名(形参表) .转载 2012-10-15 17:22:34 · 539 阅读 · 0 评论 -
浮点数在内存中的存储方式
浮点数保存的字节格式如下:地址 0 -1 -2 -3内容 SEEE EEEE EMMMMMMM MMMMMMMM MMMMMMMM这里l S 代表符号位,1是负,0是正转载 2012-10-14 14:31:06 · 806 阅读 · 0 评论 -
判断一个数组是不是二叉树后序遍历的结果
输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果。如果是返回true,否则返回false。 例如输入5、7、6、9、11、10、8,由于这一整数序列是如下树的后序遍历结果: 8 / \ 6 10 / \ / \5 7 9 11因此返回true。如果输入7、4、6、5,没有哪棵树的后序遍历的结果是这个序列,因此返回false。转载 2012-10-13 13:08:42 · 3361 阅读 · 0 评论 -
优先级反转及解决办法
http://blog.csdn.net/hochy2008/article/details/5787928上次去华为面试,被问及优先级反转及解决办法,虽然以前有所了解,但好长时间没用了,回答时竟然具体卡壳,真是汗颜。所以今天有必要再次理顺一下优先级反转的相关知识。 (1)什么是优先级反转 简单从字面上来说,就是低优先级的任务先于高优先级的任务执行了,优转载 2012-10-21 16:48:45 · 801 阅读 · 0 评论 -
atoi原型
#include #include int atoi(char s[]){ int i = 0,sum = 0,sign; //输入的数前面可能还有空格或制表符应加判断 while(' '==s[i]||'\t'==s[i]) { i++; } sign = ('-'==s[i])?-1:1; if('-'==s[i]||'+'==s[i]) { i++; }转载 2012-10-20 20:05:04 · 1156 阅读 · 0 评论 -
欢迎使用CSDN-markdown编辑器
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl原创 2016-10-01 16:06:36 · 512 阅读 · 0 评论 -
QT中速度仪表盘控件QMeter的安装方法
自己摸索了很长一段时间才搞懂,珍惜劳动成果,转载请注明出处,3Q。1、首先在官网上下载:http://qt-apps.org/content/show.php?content=72850&forumpage=02、解压;3、使用qt-creator打开工程项目.pro文件,并编译。编译的时候会报错误。 Warning: The name 'layoutWidget'原创 2013-10-13 21:52:11 · 9984 阅读 · 3 评论 -
linux下基于jrtplib库的实时传送实现
原文:http://www.cppblog.com/zzh/archive/2007/08/08/29578.html linux 下基于jrtplib库的实时传送实现一、RTP 是进行实时流媒体传输的标准协议和关键技术实时传输协议(Real-time Transport Protocol,PRT)是在 Internet 上处理多媒体数据流的一种网络协议,利用它能够在一对一(u转载 2013-10-14 20:29:17 · 695 阅读 · 0 评论 -
Qt之界面出现、消失动画效果
http://blog.sina.com.cn/s/blog_a6fb6cc90101awhm.html在学习Qt的这2、3个月里,对Qt越发感兴趣,从刚开始的盲目、无所适从到现在的学习、研究、熟练、掌握的过程中,我学到了很多东西,也学会了如何通过自学让自己更加成熟、强大起来,如何更有效地提高自己学习、工作效率。 关于Qt界面的出现消失效果,我简单介绍两种方法。转载 2013-10-01 09:22:44 · 4546 阅读 · 0 评论 -
H.264嵌入式视频监控系统项目指导
转载请注明来自:http://blog.csdn.net/ayangke 杨锞 QQ:843308498快要找工作了,想将以前做的项目复习一下,同时给想做这个项目的童鞋一些指导。硬件:MINI2440 软件:Linux-2.6.32一、H.264介绍 H.264是一种视频压缩编码标准。该标准能够在较低转载 2013-09-04 23:42:47 · 1706 阅读 · 1 评论 -
V4L2 视频采集技术
Video4linux 简介Video4Linux是为市场现在常见的电视捕获卡和并口及USB口的摄像头提供统一的编程接口。同时也提供无线电通信和文字电视广播解码和垂直消隐的数据接口。本文主要针对USB摄像头设备文件/dev/video0,进行视频图像采集方面的程序设计。Video4linux 编程指南1.视频编程的流程(1)打开视频设备:(2)读取设备信息(3)更改设备转载 2013-08-14 23:51:37 · 1087 阅读 · 0 评论 -
QT: 基于QT和嵌入式的视频监控系统
【摘 要】为了降低视频监控系统的成本,提高系统布防的简易性,使其具有较好的稳定性和实时性,利用QT 设计了一款基于嵌入式视频服务器的监控系统。系统采用三星公司的S3C2440 微处理器芯片为核心的ARM9 开发板为硬件平台,在其上搭建LINUX 系统的网络视频服务器,用QT 为用户图形界面开发了客户端软件,并运用了多线程技术。实验结果表明,该系统很好的达到了预期目标,可以稳定实时地显示一路或多原创 2013-08-25 00:34:20 · 8936 阅读 · 15 评论 -
在多线程应用程序中使用循环缓冲区高效地进行日志记录
在多线程应用程序中使用循环缓冲区高效地进行日志记录如何在您的应用程序中查找并分析错误转自:http://www.ibm.com/developerworks/cn/aix/library/au-buffer/?S_TACT=105AGX52&S_CMP=techcto#ibm-pconMohan K Jadhav (mohan.jadhav@in.ibm转载 2013-04-30 10:44:58 · 881 阅读 · 0 评论 -
用qwt绘制AD波形(转载)
引子 项目终于快完成了,现在开始整理下代码,总结下,今天先分享下关于使用如何用QWT绘制波形,先把图给贴出来。关于QWT 以下源于百度百科“QWT全称是Qt Widgets for Technical Applications,是一个基于LGPL版权协议的开源项目,可生成各种统计图。它为具有技术专业背景的程序提供GUI组件和一组实用类,转载 2013-03-13 00:19:49 · 5240 阅读 · 0 评论 -
Ucos printf 浮点数 乱码 问题
1. 问题描述:当使用uocs printf(),sprintf()打印浮点数问题会出问题,但是裸机不会出问题我现在使用STM32跑UCOS,在使用sprintf打印float类型时候,不管是何值最后都是0.0,但是类型是int,short类型时没有问题。网上查到是任务堆栈8字节对齐就可以了。当没有操作系统时,系统堆栈是8字节对齐的,但是当使用ucos时,用户任务不一定是8转载 2013-03-04 19:45:47 · 4392 阅读 · 4 评论 -
随机数产生 M-N
#include #include #include using namespace std;int main(){ double random(double,double); srand(unsigned(time(0))); int a; FILE *fp; char ch[10]={0}; fp=fopen("rand1212.txt","a+");原创 2012-12-10 20:28:47 · 1013 阅读 · 0 评论 -
linux 下 curses库 安装 和使用
curses库是用来开发简单图形界面程序一个库(也许它的功能不止这些,但是目前我只知道这一个!:)。Ubuntu下安装方法:sudo apt-get install libncurses5-devcurses的基本用法如下:1. 包含头文件:curses.h2. 编译时应加上链接语句-lcurses,如:gcc temp.c -o temp -lcurses转载 2012-11-30 20:40:57 · 894 阅读 · 0 评论 -
基类与派生类的转换(2)
一、 基类与派生类的转换 3种继承方式(公用、保护、私有继承)中,公用派生类才是基类真正的子类型,它完整地继承了基类的功能。 不同类型数据之间在一定条件下可以进行类型的转换。基类与派生类对象之间是否也有赋值兼容的关系,可否进行类型间的转换?回答是可以的。基类与派生类对象之间有赋值兼容关系,由于派生类中包含从基类继承的成员,因此可以将派生类的值赋给基类对象,在用到基类对象转载 2012-10-12 21:54:39 · 1034 阅读 · 0 评论 -
C++基类与派生类的转换
只有公用派生类才是基类真正的子类型,它完整地继承了基类的功能。基类与派生类对象之间有赋值兼容关系,由于派生类中包含从基类继承的成员,因此可以将派生类的值赋给基类对象,在用到基类对象的时候可以用其子类对象代替。具体表现在以下几个方面:派生类对象可以向基类对象赋值。可以用子类(即公用派生类)对象对其基类对象赋值。如 A a1; //定义基类A对象a1 B b1; /转载 2012-08-29 12:32:15 · 1142 阅读 · 0 评论 -
将二叉树的两个孩子换位置,即左变右,右变左。(用递归和非递归两种方法)
将二叉树的两个孩子换位置,即左变右,右变左。(用递归和非递归两种方法)递归的版本:void change( BTree * pTree ) { if( NULL == pTree ) return; BTree * pTemp = pTree.left; pTree-> left = pTree-转载 2012-10-09 22:02:42 · 4473 阅读 · 0 评论 -
请说出const与#define相比,有何优点?
const作用:定义常量、修饰函数参数、修饰函数返回值三个作用。被Const修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。1)const常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安全检查。而对后者只进行字符替换,没有类型安全检查,并且在字符替换可能会产生意料不到的错误。2)有些集成化的调试工具可以对const常量进行调试,但是不能对宏常量进行调试。转载 2012-10-09 15:52:39 · 6434 阅读 · 0 评论 -
描述内存分配方式以及它们的区别?
1)从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。2)在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集。3)从堆上分配,亦称动态内存分配。程序在运行的时候用malloc或new申请任意多少的内存,程序员自己负责在何时用fre转载 2012-10-09 15:53:18 · 1984 阅读 · 0 评论 -
求2~2000的所有素数.有足够的内存,要求尽量快
[cpp] view plaincopy//求2~2000 的所有素数.有足够的内存,要求尽量快 方法一: [cpp] view plaincopy#include #include using namespace std; int findvalue[2000]={2}; st转载 2012-10-09 10:31:47 · 4661 阅读 · 0 评论 -
类成员函数的重载、覆盖和隐藏区别?
答案:a.成员函数被重载的特征:(1)相同的范围(在同一个类中);(2)函数名字相同;(3)参数不同;(4)virtual关键字可有可无。b.覆盖是指派生类函数覆盖基类函数,特征是:(1)不同的范围(分别位于派生类与基类);(2)函数名字相同;(3)参数相同;(4)基类函数必须有virtual关键字。c.“隐藏”是指派生类的函数屏蔽了与其同名的基类函数,转载 2012-10-09 15:50:02 · 579 阅读 · 0 评论 -
int A[nSize],其中隐藏着若干0,其余非0整数,写一个函数int Func(int* A, int nSize),使A把0移至后面,非0整数移至数组前面并保持有序
解:思路1:不知道这里的有序是什么个意思。是按照大小有序,还是按原来先后顺序有序。如果是原来先后顺序有序的话。只需要一次遍历,将为0的元素填充为后面第一个不为0 的元素,然后将不为0的元素置0即可。[cpp] view plaincopyint Func(int *a, int nSize){ assert(a != N转载 2012-10-09 08:38:30 · 4213 阅读 · 0 评论 -
对象复制和对象赋值的区别
1. 何时调用复制构造函数 复制构造函数用于将一个对象复制到新创建的对象中。也就是说,它用于初始化过程中,而不是常规的赋值过程中。类的复制构造函数原型通常如下: class_name(const class_name&); 它接受一个指向类对象的常量引用作为参数。例如,String类的复制构造函数的原型如下: String(const String&); 新建一个对象转载 2012-08-30 15:23:20 · 3600 阅读 · 0 评论 -
linux socket的select函数例子
使用select函数可以以非阻塞的方式和多个socket通信。程序只是演示select函数的使用,功能非常简单,即使某个连接关闭以后也不会修改当前连接数,连接数达到最大值后会终止程序。1. 程序使用了一个数组fd_A,通信开始后把需要通信的多个socket描述符都放入此数组。2. 首先生成一个叫sock_fd的socket描述符,用于监听端口。3. 将sock_fd和数转载 2012-08-06 19:52:48 · 683 阅读 · 0 评论 -
配置文件解析函数(C语言)
配置文件解析函数(C语言)// config.hstruct conf_info{ const char *name; void *object;};typedef struct conf_info Cconf_info; /* * the function of removing the free space转载 2012-08-04 22:13:20 · 978 阅读 · 0 评论 -
基于C语言的配置文件管理
软件设计中,经常会遇到一些参数文件的保存和读取,如果不考虑支持在程序外手动修改配置文件的话,就可以设计为以二进制方式来读写文件,这样会非常方便,不用考虑格式,整个结构体对象可以直接写入文件,并且整体读出。但是,如果希望能够在程序外手动修改配置文件,就需要以一种比较直观的方式来组织配置文件了,比如比较常用的有:xml文件,ini文件等等。这些都是一些“重量级”的配置文件管理方法,最近在嵌入式平台上开转载 2012-08-04 22:21:16 · 1100 阅读 · 1 评论 -
C中的volatile用法
volatile 影响编译器编译的结果,指出,volatile 变量是随时可能发生变化的,与volatile变量有关的运算,不要进行编译优化,以免出错,(VC++ 在产生release版可执行码时会进行编译优化,加volatile关键字的变量有关的运算,将不进行编译优化。)。 例如: volatile int i=10; int j = i; ... int k = i;转载 2012-06-17 17:08:04 · 622 阅读 · 0 评论