一个unsigned int 数的二进制表示中有多少个1 这是一道面试题可以用以下的一些方案。第一种是很容易想到的采用循环的方式并且与1进行位与运算,具体代码如下。1unsignedintGetBitNumOfOne_ByLoop1(unsignedintnValue)2{3constunsignedintnNumOfBitInByte=8;4unsignedintnBitMask=1;5unsig...
文件操作:获取一个文件行数的方法 获取一个文件行数的方法,需要的朋友可以参考一下第一种方法思路:将文件中的字符一个一个读出,然后与 作比较。 #include <stdio.h> #include <string.h> #include <errno.h> int main...
数据结构——树 1、树的相关定义(1)树:包含n(n>0)个节点的有穷集合,其中每个元素称为节点(node);有一个特定的节点被称为根节点或树根(root);除根节点之外的其余数据元素被分为m(m≥0)个互不相交的结合T1,T2,……Tm-1,而其中每一个集合Ti(1<=i<=m)本身也是一棵树,被称作原树的子树(subtree)。(2)节点的度:一个节点含有的子树的个数...
一个栈的入栈序列为ABCDEF,则不可能的出栈序列是 技术之瞳 阿里巴巴技术笔试心得习题2.65: 一个栈的入栈序列为ABCDEF,则不可能的出栈序列是(D) A、DEFCBA B、DCEFBA C、FEDCBA D、FECDBA E、ABCDEF F、ADCBFE 分析: 该题主要是考虑栈的核心思想是先进后出,并且需要注意入栈和出栈的顺序是未知的,例如你可以先入栈ABCD,然后出栈D,然后入栈...
linux下查看进程的状态 /proc/[pid]/status 查看进程的状态:1.查看进程的pid,以java为例:ps -ef | grep java2.查看进程状态:cat/proc/[pid]/status关键字: linux[root@localhost ~]# cat /proc/self/statusName: catState: R (running)SleepAVG: 88%Tgid: 5783Pid...
利用sourceinsight宏(Quicker.em)提高编码效率和质量 利用sourceinsight宏(Quicker.em)提高编码效率和质量Marco是sourceinsight软件一个强大的功能,用户可以通过编写宏来实现自定义功能。这里有个比较流行的宏文件quicker.em,原作者貌似是原Huawei公司的员工编写整理的,基本功能比较全,可以满足一般的需求,个人也可以根据这个为基础进行更个性化的改写。通过如下配置:1.运行SI,打开Base工程...
sem_wait sem_post信号量操作进本函数 sem_wait sem_post信号量的数据类型为结构sem_t,它本质上是一个长整型的数。函数sem_init()用来初始化一个信号量。它的原型为: extern int sem_init __P ((sem_t *__sem, int __pshared, unsigned int __value)); sem为指向信号量结构的一个指针;pshare...
memmove和memcpy函数的区别及实现 一、memmove()和memcpy()函数和strcpy()函数的区别;(1)使用的类型不同,strcpy()函数只对字符串进行操作;memmove()和memcpy()函数对所有类型都适用,为内存拷贝;(2)strcpy()以’\0’为拷贝的结束条件;而memmove()和memcpy()函数则是以第三个参数num进行控制拷贝;二、函数说明:1.memcpy函数的功能是...
如何写出优美的 C 代码 面向对象的 C 基础知识结构体除了提供基本数据类型外,C 语言还提供给用户自己定制数据类型的能力,那就是结构体,在 C 语言中,你可以用结构体来表示任何实体。结构体正是面向对象语言中的类的概念的雏形,比如:typedef struct{ float x; float y; }Point;定义了一个平面坐标系中的一个点,点中有两个...
谷歌浏览器去除广告--广告终结者 每次使用谷歌浏览器查阅一些资料的时候,总是会弹出一大堆广告窗口,影响阅读体验。现在找到一种方法可以屏蔽网页上浮动的,弹框的,渐变的广告。1. 下载离线插件安装包Advertising-Terminator_v3.1.4.crx2. 在谷歌浏览器,自定义及控制中->更多工具->扩展程序中拖入此插件。3. 点击安装。4. 之后就会开启功能,浏...
Source Insight快捷键 常用使用技巧按住"ctrl", 再用鼠标指向某个变量(或函数),点击一下,就能进入这个变量(或函数)的定义。 快捷键"Alt + F12",可以让显示界面中的每个字符宽度一致。"shift+F8"标亮所有文本中光标所在位置的单词。 跳到某一行:F5或者"ctrl + g"。"Ctrl + o"跳转至Project Window的查找入口,"回车"打开相应文件并关闭查找窗口;...
va_start(),va_end()函数应用 原理解释:VA_LIST 是在C语言中解决变参问题的一组宏,在<stdarg.h>头文件下。VA_LIST的用法:(1)首先在函数里定义一具VA_LIST型的变量,这个变量是指向参数的指针(2)然后用VA_START宏初始化变量刚定义的VA_LIST变量,这个宏的第二个参数是第一个可变参数的前一个参数,是一个固定的参数...
后ARM时代,嵌入式工程师的自我修养 1 嵌入式学习的一些概念理解误区很多嵌入式初学者认为,学嵌入式,就是学习ARM,就是学习开发板。买一块开发板,然后在上面“移植”u-boot、Linux内核,再使用busybox制作一个根文件系统,大功告成!觉得可以出去找工作了。这其实是有一定片面性的:首先ARM是个CPU架构,跟PC上的X86架构一样,你见过有人在Windows下面学习C/C++编程、MFC编程、网络编程...
大话数据结构 数据结构按照视点的不同可分逻辑结构和物理结构。逻辑结构:1.集合结构2.线性结构3.树形结构4.图形结构物理结构:1.顺序存储结构2.链式存储结构算法定义:算法是解决特定问题求解步骤的 描述 ,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。算法的5个基本特性:输入、输出、有穷性、确定性和可行性。可行性和确定性可行性:算...
gcc/clang编译带pthread.h头文件的源码时需要的参数 今天敲了一个小程序,编译时出现错误:undefined reference pthread_create原来由于pthread库不是Linux系统默认的库,连接时需要使用库libpthread.a,所以在使用pthread_create创建线程时,在编译中要加-lpthread参数:gcc -o test -lpthread test.c再查发现编译时参数写成 -pthread...
error while loading shared libraries: xxx.so.x"错误的原因和解决办法 一般我们在Linux下执行某些外部程序的时候可能会提示找不到共享库的错误, 比如:tmux: error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file or directory原因一般有两个, 一个是操作系统里确实没有包含该共享库...
shell中$(( ))与$( )还有${ }的区别 $( )与` `(反引号)在bash shell中,$( )与` `(反引号)都是用来做命令替换(command substitution)用的。$ echo the last sunday is $(date -d "last sunday" +%Y-%m-%d)得到上一星期天的日期用$( )的理由1. ` `很容易与' '(单引号)搞混。有时在一些奇怪的字形显示中,两...
线程上下文切换和进程上下文切换的区别 进程切换分两步1.切换页目录以使用新的地址空间2.切换内核栈和硬件上下文。对于linux来说,线程和进程的最大区别就在于地址空间。对于线程切换,第1步是不需要做的,第2是进程和线程切换都要做的。所以明显是进程切换代价大线程上下文切换和进程上下问切换一个最主要的区别是线程的切换虚拟内存空间依然是相同的,但是进程切换是不同的。这两种上下文切换的处理都是通过操作系统内核来完成的。内核...
终端、虚拟终端、shell、控制台、tty的区别 终端与控制台的区别?最近开始接触Linux,终端、虚拟终端、shell、控制台、tty等概念让我很混乱,有必要认识清楚。今天看到有人问终端和控制台的区别,而且这个问题比较有普遍性,因此想抽出一点时间来解释一下这两个术语的区别。 终端,英文叫做terminal ,通常简称为term ,比如我们在X下的xterm. 控制台,英文叫做console. 要明...
多种缺陷管理软件简介 缺陷管理工具:1.Bugzilla2.Bugfree3.TestDirector (Quality Center)4.ClearQuest5.JIRA6.Mantis7.Bugzero8. BugTracker9. URTracker10.KisTracker11.TestLink12、JTrac13、BugNet14、BugOnline15、eTraxis一...